Hmm interesting. I see instructions on setting up Wordpress with FastCGI but no comments about any impact that would have on plugins. Maybe they just don’t worry about it the same way most Koha folk don’t worry about it hehe.
David Cook
Software Engineer
Prosentient Systems
Suite 7.03
6a Glen St
Milsons Point NSW 2061
Australia
Office: 02 9212 0899
Online: 02 8005 0595
From: Koha-devel <koha-devel-bounces@lists.koha-community.org> On Behalf Of Arthur
Sent: Wednesday, 26 May 2021 2:10 PM
To: koha-devel@lists.koha-community.org
Subject: Re: [Koha-devel] Thoughts on reloading Koha plugins
Hi David,
From what I recall about wordpress, it doesn't use any code-caching system. (wordpress hosters could use FastCGI though).
It's reloaded at each calls.
Arthur
On 26/05/2021 02:10, dcook@prosentient.com.au wrote:
Hi all,
It seems to me that installing Koha plugins is easy enough. Each Starman process will load the plugin into memory because it hasn’t seen it before.
However, if you’re updating/upgrading a plugin, each Starman process has already loaded it, so it won’t know that it needs to reload it. I think most of us work around this at the moment either by restarting Plack or just letting the Starman workers die and be replaced by new ones that use the updated code. But that doesn’t seem optimal for an environment that allows user plugins…
That said, https://advent.plackperl.org/2009/12/day-4-reloading-applications.html and https://metacpan.org/pod/Module::Reload have a few points on how reloading code in a persistent process is a good way to get bugs.
I recall Kyle saying Wordpress was his inspiration for the plugins. I’m curious how Wordpress handles plugin upgrades.
David Cook
Software Engineer
Prosentient Systems
Suite 7.03
6a Glen St
Milsons Point NSW 2061
Australia
Office: 02 9212 0899
Online: 02 8005 0595
_______________________________________________Koha-devel mailing listKoha-devel@lists.koha-community.orghttps://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-develwebsite : https://www.koha-community.org/git : https://git.koha-community.org/bugs : https://bugs.koha-community.org/