NAME Mojolicious::Plugin::OnFork - Do Something Whenever a Worker Starts VERSION Version 0.006 SYNOPSIS # Mojolicious $self->plugin('OnFork' => sub { srand }) if $ENV{HYPNOTOAD_APP}; # Mojolicious::Lite plugin OnFork => sub { srand } if $ENV{HYPNOTOAD_APP}; DESCRIPTION Mojolicious::Plugin::OnFork is a plugin to easily define code, that is executed whenever a new worker process of the web server forks. All this plugin actually does is Mojo::IOLoop->timer(0 => $code) The motivation for this plugin was, that hypnotoad does not guarantee to call srand() after a fork(), so worker processes might all get the same sequence of "random" numbers from rand(). Starting with Mojolicious 5.76 "srand" is actually called after a fork, but this fact is not officially documented and according to the author can be removed in the future without any previous notice. As a consequence depending on the Mojolicious version and for this use case "srand" might be called twice after a worker starts. METHODS Mojolicious::Plugin::OnFork inherits all methods from Mojolicious::Plugin and implements the following new ones. "register" Register plugin hooks in Mojolicious application. SEE ALSO Mojolicious, . AUTHOR Bernhard Graf COPYRIGHT AND LICENSE Copyright (C) 2012 - 2017 Bernhard Graf This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.