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命令,该命令将子线程分叉以执行单个工作.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...