我有一个用 perl/Mojolicious 编写的简单 Web 应用程序,并在 hypnotoad 下运行。
我需要为“spawn”事件定义一些处理程序(由Mojo::Server::Prefork 发出)。
但我不知道如何在Mojolicious应用程序的启动方法的代码中插入这个hander定义。 $self->on("spawn"=>sub {})
不起作用:( 并且 Dumper($self)
根本没有帮助:没有 $self ->server 或 $server->prefork ...
请告诉我该怎么做。
谢谢!
最佳答案
虽然我仍然不知道如何定义在进程“spawn”上触发的处理程序,但我可以告诉你,使用绝对可以完成相同的事情
Mojo::IOLoop->singleton->next_tick(sub {
doingSomethingOnProcSpawn()
});
正如 Mojolicious Cookbook ( http://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook#Pre-forking ) 中所述:
During startup your application is preloaded in the manager process, which does not run an event loop, so you can use "next_tick" in Mojo::IOLoop to run code whenever a new worker process has been forked and its event loop gets started.
提示:正如我在实际应用程序中看到的那样,Mojo::IOLoop->singleton->next_tick 和 Mojo::IOLoop->next_tick 的工作原理完全相同,所以我不知道它们之间有什么区别。
关于perl - 如何定义 Mojo::Server::Prefork 的生成处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43322443/