这是我第一次尝试让Redis在Heroku上工作.
我添加了一个工作器dyno(就在今天,所以还没有支付),添加了RedisToGo Nano附加组件,在我的本地机器上测试了后台作业,并将应用程序推送到了heroku.
heroku ps
Run Code Online (Sandbox Code Playgroud)
给
=== 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)
Run Code Online (Sandbox Code Playgroud)
Sidekiq Web Interface说一个作业已入队,但零处理或失败.
我猜这是因为我的工作人员dyno坠毁了.
有没有我不知道的noob错误?
(例如,我需要运行一些命令才能开始收听后台工作等)
heroku logs --tail 没有显示任何错误,所以我不明白为什么我的工人dyno发生冲突.
我在我的应用程序的根目录中设置了Procfile:
web: bundle exec thin start -p $PORT
worker: bundle exec sidekiq -c 5 -v
Run Code Online (Sandbox Code Playgroud)
我可以看到,当我通过推送我的rails应用程序时,heroku会看到它 git push heroku master
Procfile declares types -> web, worker
Run Code Online (Sandbox Code Playgroud)
问题是一堆工作刚刚陷入"入队"部分.
如果我从命令行运行heroku run bundle exec sidekiq,那么只有作业才会处理.
关于如何调试这个的任何想法?谢谢!