【发布时间】:2012-12-09 11:40:24
【问题描述】:
我们在我们的网络应用程序中使用延迟作业,我们需要多个延迟作业工人并行发生,但我们不知道需要多少。
我目前尝试的解决方案是运行一名工作人员并在所需任务中调用 fork/Process.detach。
我之前曾尝试在 Rails 应用程序中直接运行 fork,但对乘客来说效果不佳。
这个解决方案似乎运作良好。生产中是否有任何警告?
【问题讨论】:
标签: ruby-on-rails rake fork delayed-job
我们在我们的网络应用程序中使用延迟作业,我们需要多个延迟作业工人并行发生,但我们不知道需要多少。
我目前尝试的解决方案是运行一名工作人员并在所需任务中调用 fork/Process.detach。
我之前曾尝试在 Rails 应用程序中直接运行 fork,但对乘客来说效果不佳。
这个解决方案似乎运作良好。生产中是否有任何警告?
【问题讨论】:
标签: ruby-on-rails rake fork delayed-job
今天发生在我身上的一个问题,任何试图解决这个问题的人都应该关注:
我注意到工人停机了,所以我开始了它。我没有想到的是有 70 个工作在排队等候。并且由于进程是分叉的,它们几乎立即启动所有进程并吃掉进程中的所有内存,从而杀死了我们的服务器大约半个小时。:]
因此,确保有上帝守护工人很重要。
worker 似乎也经常死亡,但还不确定它是否与分叉有关。
【讨论】: