2013-03-03 96 views
7

这是我第一次尝试让Redis在Heroku上工作。如何让Sidekiq在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界面说,一个作业入队,但零处理或失败。

我猜测这是因为我的工人测功机坠毁。

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

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

heroku logs --tail不显示任何错误,所以我不明白为什么我的工人DYNO chashes。

回答

14

我做了一些研究,并固定它像这样:

在应用程序的根目录下,我创建了一个名为“Procfile”这个内容的文件:

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

here得到这个想法。

之后,它工作正常。

0

另外,还要确保你安装REDIS_PROVIDER:

heroku config:set REDIS_PROVIDER=REDISTOGO_URL 

Sidekiq的GitHub的页面也有指示。点击here

相关问题