【问题标题】:Resque multiple workers in development modeResque 开发模式下的多个工作人员
【发布时间】:2012-05-12 12:54:12
【问题描述】:

您好,是否可以在开发过程中同时运行多个 Resque 工作人员?我找到了这段代码,但不确定它是否可以工作以及如何工作..

http://pastebin.com/9GKk8GwR

到目前为止,我使用的是标准

bundle exec env rake resque:work QUEUE='*'

redis-server /usr/local/etc/redis.conf

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 background resque


    【解决方案1】:

    您需要添加一个COUNT 环境变量,然后将resque:work 更改为resque:workers。例如,启动 3 个工人:

    bundle exec env rake resque:workers QUEUE='*' COUNT='3'
    

    【讨论】:

    • 这太棒了!我总是打开 3-5 个单独的控制台选项卡,每个选项卡都有一名工作人员。现在我可以将它们全部集中到一个选项卡中。谢谢!
    【解决方案2】:

    我知道如何做到这一点的唯一方法,我认为这是一个很好的方法,它使用 Foreman(与 heroku 使用的相同)。

    您在一个名为 Procfile 的文件中定义您的流程,例如:

    web:    bundle exec thin start -p $PORT
    worker: bundle exec rake resque:work QUEUE=*
    clock:  bundle exec rake resque:scheduler
    

    然后您只需一个命令即可启动您的应用程序

    foreman start
    

    要启动一种类型的多个进程,如下所示:

    foreman start -c worker=2
    

    https://github.com/ddollar/foreman

    http://blog.daviddollar.org/2011/05/06/introducing-foreman.html

    【讨论】:

    • 要启动 web worker 也可以使用:foreman start -c web=1,worker=2
    猜你喜欢
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多