簡體   English   中英

如何在Heroku上自動運行Queue_Classic(或任何)耙任務?

[英]How to run Queue_Classic (or any) rake task automatically on Heroku?

我有一個使用Queue_Classic gem的Rails 3.2應用程序,並將其部署在Heroku上。

當前,除非我在命令行中運行heroku run rake qc:work ,否則不會處理我排隊的作業。

我添加了包含以下內容的Procfile:

worker:  bundle exec rake qc:work

但是除非我手動運行heroku run rake qc:work否則仍然不會處理隊列。

我想念什么?

該應用程序使用獨角獸,這會產生影響嗎?

通常,您的工作人員獨立於Web流程運行。 要運行一個工作程序,您需要將您的流程形式設置為運行一個工作程序:

$ heroku scale worker=1

*請確保在主Rakefile中包括queue_classic和queue_classic / tasks。*

經過深入研究后,我提出了以下解決方案。

我不確定這是否是最好的方法,或者在擴展Web流程等過程中它的表現如何,但目前仍在工作。

我像往常一樣設置了獨角獸,包括

#Procfile
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb 

然后我添加了以下配置

#unicorn.rb
worker_processes 3 
timeout 30

@qc_pid = nil

before_fork do |server, worker|
  @qc_pid ||= spawn( "bundle exec rake qc:work" )
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM