如何让Sidekiq在Heroku上工作?

时间:2013-03-03 17:30:26

标签: ruby-on-rails heroku

这是我第一次尝试让Redis在Heroku上工作。

我添加了一个工作器dyno(就在今天,所以还没有支付),添加了RedisToGo Nano插件,在我的本地机器上测试了后台作业,并将应用程序推送到了heroku。

heroku ps

给出

=== web: `bundle exec rails server -p $PORT`
web.1: up 2013/03/03 18:26:09 (~ 37m ago)

=== worker: `bundle exec rake jobs:work`
worker.1: crashed 2013/03/03 19:02:15 (~ 1m ago)

Sidekiq Web Interface说,一个作业已入队,但零处理或失败。

我猜这是因为我的工作人员dyno坠毁了。

是否有任何我不知道的noob错误?

(例如,我需要运行一些命令才能开始收听后台工作等)

heroku logs --tail没有显示任何错误,所以我不明白为什么我的工人dyno会发生冲突。

2 个答案:

答案 0 :(得分:14)

我做了一些研究并修复了这个:

在app的根目录下,我创建了一个名为“Procfile”的文件,其中包含以下内容:

web: bundle exec rails server -p $PORT
worker: bundle exec sidekiq -c 5 -v

here得到了这个想法。

之后它运作正常。

答案 1 :(得分:0)

还要确保设置REDIS_PROVIDER:

heroku config:set REDIS_PROVIDER=REDISTOGO_URL

Sidekiq的GitHub页面也有说明。点击here