我正在使用Cronic gem在我的Rails应用程序中安排作业。
每次重新部署应用程序时,我都会使用命令“script / cronic -k -P tmp / pids / cronic.pid”停止Cronic作业。
我的问题是:如果当前正在运行Cronic作业,它会被自动杀死吗?还是在整个Cronic进程停止之前等待作业停止?
答案 0 :(得分:1)
很难说,但https://github.com/bazaarlabs/dante/blob/master/lib/dante/runner.rb#L211似乎指出Dante(Cronic用来处理deamonization)会向PID发送一个Process.kill(“TERM”)。
现在我认为cronjob进程应该等到它完成处理,但这取决于实现。如果我是你,我会亲自尝试一下。创建一个只睡一段时间的Job然后通过unix终端发送kill(不设置-9)并查看它是否立即退出。