Resque 可以同时运行许多类似的作业吗?如果是这样,您将如何设置工人来执行此操作?
问问题
3616 次
3 回答
4
我会看一下Resque Pool gem,它可以很容易地为不同的队列设置多个工作人员。然后,您可以按队列对类似任务进行分组。
如果您还没有使用某些东西进行进程监控,resque-pool 可以帮助您通过单个守护进程管理您的工作。它还为您提供了一些方法来监控您的员工正在发生的事情。此外,它还允许您通过一个简单的 yaml 文件轻松更改每个队列正在运行的工作人员数量。
于 2011-06-28T16:58:28.853 回答
3
如果将COUNT
选项传递给 rake 任务,则可以运行多个工作程序:
COUNT=5 QUEUE=* rake resque:workers
在生产中,您可以使用类似的东西God
来保持您的流程运行。Resque 项目有一个示例配置脚本,它允许多个工作人员。
于 2011-06-28T16:57:31.590 回答
0
如果您使用 monit 进行监控,请注意每个工作人员有一个 pid 文件
#!/bin/sh
cd <path of app>/current/
for i in 3;
do
VVERBOSE=1 PIDFILE=<path of app>/shared/pids/resque_$i.pid RAILS_ENV=production QUEUE=name_of_queue bundle exec rake environment resque:work > <path of app>/shared/log/resque_$i.log
done
于 2011-06-28T17:04:07.770 回答