ruby-on-rails – 当Rails服务器启动时如何运行“rake resque:work QUEUE = *”?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 当Rails服务器启动时如何运行“rake resque:work QUEUE = *”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经正确安装了resque,但是要处理我需要运行的所有队列
rake resque:work QUEUE='*'

问题是我需要保持终端窗口打开,否则resque:工作将无法正常工作.

你知道每次运行“rails server”时自动运行rake命令的方法吗?

我在Localhost上

LIB /任务/ resque.rake

require 'resque/tasks'

task "resque:setup" => :environment do
    ENV['QUEUE'] = "*"
end

解决方法

您可以使用像 foreman这样可以调用所有其他任务的gem,而不是调用invoke函数.
如果您希望拥有一个基本上与平台无关的解决方案,并且在部署到云中时,这非常有用.
您的Procfile可以包含以下内容
web:    bundle exec thin start -p $PORT
worker: bundle exec rake resque:work QUEUE=*
clock:  bundle exec rake resque:scheduler

来源:introduction to foreman.

现在要启动服务器,您只需发出foreman start命令,该命令将子线程分叉以执行单个工作.

原文链接:https://www.f2er.com/ruby/268740.html

猜你在找的Ruby相关文章