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