[Koha-bugs] [Bug 21366] Add Plack reload

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Tue Aug 23 01:31:18 CEST 2022


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21366

--- Comment #25 from David Cook <dcook at prosentient.com.au> ---
(In reply to Marcel de Rooy from comment #23)
> If you enable --preload-app option, however, the code will be only loaded in
> the startup process and will not pick up the code changes you made. If you
> want to preload the app and do graceful restarts by reloading the code
> changes, you're recommended to use Server::Starter, configured to send QUIT
> signal when superdaemon received HUP ...
> [End of quote]

We don't use --preload-app, so we don't need to worry about it.

Even if we did use --preload-app, I think some of the text is misleading. While
code changes to code that is preloaded wouldn't come through, changes to code
that is lazy loaded after forking the children would still come through.

I use mod_perl for a different Perl app where I preload the core Catalyst
application into the httpd master process so that slow setup like the ORM just
takes place 1 time, and then all the lazy loads for function specific things
happen within the child processes. 

> While testing with about and inserting a small code change, I notice that
> while I started the about web request before the plack reload, the code
> change already is visible in the web request.
> I think that this is not what we want here ?

If you want to test a small code change, you'd need to first make sure that all
Starman workers have already cached the about.pl page in their CGI to PSGI
cache. Once they're cached, then you can make your code change, confirm that
the change isn't visible, do the reload, and then note that the change is
visible.

I chose the about.pl test somewhat arbitrarily because koha-testing-docker is
such a small database. In production, where you really see this being useful is
in search.pl and opac-search.pl where a search might take 5+ seconds. Using
koha-plack --reload will wait for that long search request to complete, and
then it will restart that worker.

--

Does that answer your questions? I will be online a bit tonight (ie European
morning) so might be able to answer more on IRC :)

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list