Ruby on rails 是否从应用程序服务器转发延迟的作业?

Ruby on rails 是否从应用程序服务器转发延迟的作业?,ruby-on-rails,ruby,fork,delayed-job,background-process,Ruby On Rails,Ruby,Fork,Delayed Job,Background Process,以下是我希望运行延迟作业的简单理想情况场景: 当第一个应用服务器(无论是通过mongrel还是passenger)启动时,它将启动我延迟的工作人员 当最后一个运行的应用服务器终止时,它将杀死所有延迟的工作人员 第一部分(开始)是可行的,尽管我不确定“正确”或“最佳”的方法是什么。只需进行一个有条件的(进程尚未运行)系统调用来延迟作业启动 第二部分(终止)——嗯,我不确定它是否可行。我绝对不知道这种效果是如何实现的 有什么想法或想法吗 有没有其他方法可以让你开始/结束你认为最好的延迟工作 附带

以下是我希望运行延迟作业的简单理想情况场景:

  • 当第一个应用服务器(无论是通过mongrel还是passenger)启动时,它将启动我延迟的工作人员
  • 当最后一个运行的应用服务器终止时,它将杀死所有延迟的工作人员
第一部分(开始)是可行的,尽管我不确定“正确”或“最佳”的方法是什么。只需进行一个有条件的(进程尚未运行)系统调用来延迟作业启动

第二部分(终止)——嗯,我不确定它是否可行。我绝对不知道这种效果是如何实现的

有什么想法或想法吗

有没有其他方法可以让你开始/结束你认为最好的延迟工作

附带问题:
上面的主要问题是针对生产环境的——这是一个更困难的情况,因为有多个应用程序服务器同时运行。在开发环境中(保证只有一个应用程序服务器,而不是一个应用程序服务器集群),通过分支一个子进程来运行在父进程终止时总是终止的延迟作业工人,可以轻松地完成同样的事情吗?我该怎么做呢?

你完全可以用它来完成端接


只要观察应用程序进程,当它们全部停止时,上帝就会发出回调。

好东西!我会调查的。谢谢