Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Sending HUP to a server started with --preload-app doesn't load code changes #60

Closed
stevenmcdonald opened this Issue Jan 8, 2013 · 3 comments

Comments

Projects
None yet
2 participants

To reproduce:

  • start starman with --preload-app
  • make a code change
  • send HUP to the starman master process, I see the log message:

Sending children hup signal during HUP on prefork server

but the new code doesn't seem to be loaded. If starman is started without --preload-app it works as expected.

Tested with version 0.3005

Owner

miyagawa commented Jan 8, 2013

It's working as expected.

Read the documentation on perldoc starman.

SIGNALS
       HUP Sending "HUP" signal to the master process will restart all the
           workers gracefully (meaning the currently running requests will
           shut down once the request is complete), and by default, the
           workers will pick up the code changes you make by reloading the
           application.

           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", i.e:

@miyagawa miyagawa closed this Jan 8, 2013

Oops, I tried to double check the docs to see if it was mentioned, but I only checked Starman not starman. Thanks for the quick reply.

Owner

miyagawa commented Jan 9, 2013

added a mention for the starman doc in dead0e8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment