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, <https://github.com/kraih/mojo/issues/402>.
AUTHOR
Bernhard Graf <graf(a)cpan.org>
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.