【发布时间】:2012-10-10 23:12:10
【问题描述】:
我在 FCGI 模式 (Apache) 下以同一用户同时运行多个 Perl dancer 应用程序。正如我正确理解的那样,如果当前的应用程序很忙,Apache(或任何其他网络服务器)将派生一个新的舞者应用程序。
为了确保没有访客被 dancer 关闭中断,我喜欢让 dancer 处理当前连接,直到它完成,然后 exit/last 处理。
如何使用终止信号HUP 关闭 Perl dancer 应用程序以执行如此好的关闭?
为了推出新版本的舞者应用程序,我使用pkill -HUP perl 作为舞者用户来“关闭”进程。但目前(由于缺少信号处理程序)它更像是将他们击落作为关闭应用程序。
【问题讨论】:
-
如果您能够更改您的基础架构,您可以尝试支持您需要的 plack 网络服务器之一。 starman 和 hyponotoad 都在
SIGHUP上正常重启 -
starman听起来不错,我尝试与系统管理员争论。愿你想把你的评论作为答案,@mugen。
标签: perl apache signals fastcgi dancer