2013-03-03 31 views
7

Đó là nỗ lực đầu tiên của tôi để Redis làm việc trên Heroku.Làm thế nào để có được Sidekiq làm việc trên Heroku?

Tôi đã thêm một công việc dyno (chỉ hôm nay, vì vậy chưa thanh toán), thêm tiện ích RedisToGo Nano, thử nghiệm nền trên máy cục bộ của tôi và đẩy ứng dụng lên heroku.

heroku ps 

cho

=== 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 Giao diện Web nói rằng một công việc được enqueued, nhưng không xử lý hoặc thất bại.

Tôi đoán đó là do dyno công nhân của tôi bị lỗi.

Có bất kỳ lỗi nào về noob mà tôi không biết?

(ví dụ tôi cần phải chạy một số lệnh để bắt đầu nghe công việc nền vv)

heroku logs --tail không hiển thị bất kỳ lỗi nào, vì vậy tôi không hiểu tại sao chashes Dyno nhân của tôi.

Trả lời

14

tôi đã làm một số nghiên cứu và cố định nó như thế này:

Dưới thư mục gốc ứng dụng của tôi tạo ra một tập tin gọi là "Procfile" với nội dung này:

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

Got ý tưởng này từ here.

Sau đó nó hoạt động tốt.

0

Ngoài ra hãy chắc chắn rằng bạn thiết lập REDIS_PROVIDER:

heroku config:set REDIS_PROVIDER=REDISTOGO_URL 

trang GitHub Sidekiq cũng có hướng dẫn. Nhấp vào here

Các vấn đề liên quan