我按照
https://devcenter.heroku.com/articles/queuing-ruby-resque的教程在Rails应用程序中排队并运行后台作业.排队作业后,似乎没有运行任何作业,因为在控制台中我可以看到作业尚未处理
@H_301_2@>Resque.info
=> {:pending=>1,:processed=>0,:queues=>1,:workers=>0,:working=>0,:Failed=>0,:servers=>["redis://dory.redistogo.com:9826/0"],:environment=>"production"}
如果我尝试(本地)
@H_301_2@bundle exec rake jobs:work我明白了
@H_301_2@rake aborted! Don't know how to build task 'jobs:work'在heroku上,如果我尝试
@H_301_2@heroku run rake jobs:work我再次得到“不知道如何建立任务”
在我的Rakefile中,我需要’resque / tasks’并且在我的Procfile中我有
@H_301_2@resque: env TERM_CHILD=1 bundle exec rake jobs:work resque: env TERM_CHILD=1 bundle exec rake jobs:work我的Gemfile中有Resque和redis宝石,但不是delayed_job.
更新:
这是我的Rakefile:
/ lib / tasks是空的.我有一个app / worker的工人,我在控制器中入队.
解决方法
这似乎与Heroku没有任何关系,如果它不在本地工作.您必须透露一些来源以帮助人们为您提供帮助.例如,你的Rakefile是什么样的?该文章
defines one with a Rake task中的演示应用程序与任务.您是否定义了rake任务并添加了相应的gem参考?