Как определить обработчик спавна для 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 работают абсолютно одинаково, поэтому я не знаю, в чем разница между ними.

Другие вопросы по тегам