Как определить обработчик спавна для Mojo::Server::Prefork?
У меня есть простое веб-приложение, написанное на Perl/Mojolicious и работающее под Hypnotoad.
Мне нужно определить некоторый обработчик для события "spawn" (испускаемого Mojo::Server::Prefork).
Но я не знаю, как вставить это определение в код запуска метода Mojolicious. $self->on("spawn"=>sub {})
не работает sad Dumper($self)
не помогло: нет $self->server или $server->prefork ...
Подскажите пожалуйста, как это сделать.
Спасибо!
1 ответ
Хотя я до сих пор не знаю, как определить обработчик, запускаемый процессом "порождение", я могу сказать, что с помощью
Mojo::IOLoop->singleton->next_tick(sub {
doingSomethingOnProcSpawn()
});
Как описано в Mojolicious Cookbook ( http://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook):
Во время запуска ваше приложение предварительно загружается в процесс менеджера, который не запускает цикл обработки событий, поэтому вы можете использовать "next_tick" в Mojo::IOLoop для запуска кода всякий раз, когда новый рабочий процесс разветвляется и запускается его цикл обработки событий.
Подсказка: как я вижу в моем реальном приложении, Mojo::IOLoop->singleton->next_tick и Mojo::IOLoop->next_tick работают абсолютно одинаково, поэтому я не знаю, в чем разница между ними.