Tôi có một Procfile đơn giản mà đọc:bắt đầu nhiều người lao động trong Procfile (môi trường phát triển vs Heroku)
web: bundle exec rails server thin -p $PORT
worker: bundle exec rake jobs:work
On Heroku, điều này sẽ khởi động nhiệm vụ lao động N, trong đó N là bất cứ điều gì tôi đã thu nhỏ nó được .
Trên hệ thống phát triển của tôi,
$ foreman start
sẽ chỉ khởi động một nhiệm vụ lao động. Nếu tôi muốn để khởi động ba công nhân, tôi cần một Procfile trông giống như:
web: bundle exec rails server thin -p $PORT
worker: bundle exec rake jobs:work
worker: bundle exec rake jobs:work
worker: bundle exec rake jobs:work
Đây là một câu hỏi hơi gàn dở, nhưng nếu tôi muốn môi trường phát triển của tôi cư xử giống như môi trường Heroku của tôi, cách tốt nhất để khởi động là những gì N nhiệm vụ công nhân? Cách được chấp thuận để tạo (ví dụ: Procfile_local và sử dụng nó qua foreman -f Procfile_local
?
Tuyệt vời! Tôi đặt điều này trong tập tin cấu hình .foreman của tôi vì vậy tôi sẽ không phải xác định điều này với mỗi lệnh: 'concurrency: web = 1, worker = 2 \ n port: 7500'. Cảm ơn bạn đã gửi mẹo. –
hoặc phiên bản ngắn hơn: 'foreman start -c web = 1, worker = 6' –