2014-05-08 54 views
1

嘗試使用Redis_To_Go發送帶有Sidekiq的電子郵件,但我的工作人員不斷崩潰。我已經做了我能找到的所有事情,我相信這是一個小問題。雖然我無法弄清楚!Heroku with Sidekiq和Redis_To_Go

./Procfile.txt:

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

./config/initializers/redis.rb

$redis = Redis::Namespace.new("ihms_env_app", :redis => Redis.new) 

uri = URI.parse(ENV["REDISTOGO_URL"]) 
REDIS = Redis.new(:url => ENV['REDISTOGO_URL']) 

我攀登上的工人從0到1

$ heroku ps 
=== web (1X): `bin/rails server -p $PORT -e $RAILS_ENV` 
web.1: up 2014/05/08 10:46:56 (~ 7m ago) 

=== worker (1X): `bundle exec rake jobs:work` 
worker.1: crashed 2014/05/08 10:47:00 (~ 7m ago) 

日誌

heroku[worker.1]: State changed from crashed to starting 
heroku[worker.1]: State changed from starting to up 
heroku[worker.1]: Starting process with command `bundle exec rake jobs:work` 
app[worker.1]: 
app[worker.1]: rake aborted! 
app[worker.1]: Don't know how to build task 'jobs:work' 
在控制檯

,我已經運行

heroku config:set REDIS_PROVIDER=REDISTOGO_URL 

回答

2

嗯。

您從heroku ps輸出的日誌和日誌表明您正在嘗試運行稱爲「jobs:work」的rake任務,並且失敗。

當您在本地目錄中運行bundle exec rake jobs:work時會發生什麼?我會猜測它失敗了?

您提供的Procfile與您的日誌相矛盾。它有Sidekiq而不是rake作爲命令。你確定你已經檢查過你的git repo並部署了它嗎?

+0

是的,在我的本地目錄中運行命令失敗。我想到了同樣的事情,並試圖重新推向Heroku存儲庫,但被授予「已經最新」。我只是在procfile中添加了一個空間並重新提交,重新啓動了heroku,我仍然遇到了一名墜毀的工作人員。 Procfile.txt是目錄根與.gitignore和gemfile正確? – user2402831

+0

啊。不是。您已經錯誤地命名了Procfile。它應該被命名爲'Procfile'(參見[docs](https://devcenter.heroku.com/articles/procfile#process-types-as-templates)) - 不是'Procfile.txt' –

+0

我剛纔想到了發佈我的評論後立即。當文檔說「一個Procfile是一個名爲Procfile的文本文件放在你的應用程序的根目錄下」時,我只是做了一個假設。現在與重命名文件一起工作。謝謝! – user2402831