use*_*621 5 ruby heroku delayed-job ruby-on-rails-3
我有一些使用delayed_job的miniapp.在我的localhost上一切正常,但是当我将我的应用程序部署到Heroku并单击应该由delayed_job执行的链接时,没有任何反应,"任务"只是保存到表中delayed_job.
在这篇关于heroku博客的文章中写道,delayed_job表中的任务是执行的,什么时候运行这个命令rake jobs:work.
但是我怎么能运行这个命令呢?命令应该放在哪里?在代码中,还是从终端控制台?
Car*_*III 12
如果您正在运行Cedar堆栈,请从终端控制台运行以下命令:
heroku run rake jobs:work
Run Code Online (Sandbox Code Playgroud)
如果您正在运行旧堆栈(Bamboo,Aspen等):
heroku rake jobs:work
Run Code Online (Sandbox Code Playgroud)
请参阅:https://devcenter.heroku.com/articles/rake
根据delayed_job 文档,您还可以以编程方式启动工作程序:
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
Delayed::Worker.new.start
Run Code Online (Sandbox Code Playgroud)
您应该使用Procfile来指定dynos的命令.例如,你的Procfile中会有这样的东西:
APPDIR/Procfile
web: bundle exec rails server -p $PORT
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)
要在您的开发机器上使用它,您应该使用Foreman,所有这些都在文档中进行了解释.
https://devcenter.heroku.com/articles/procfile
| 归档时间: |
|
| 查看次数: |
8349 次 |
| 最近记录: |