簡體   English   中英

如何監視生產中的后台作業,queue_classic

[英]How to monitor background jobs in production, queue_classic

我正在將queue_classic用於后台作業,
我需要監視生產中的后台作業,即啟動,停止等。
我發現了類似的問題,但沒有幫助我
我也找到了上帝的代碼:
但是我該如何停止,重新啟動工作人員?

number_queues.times do |queue_num|
  God.watch do |w|
    w.name = "QC-#{queue_num}"
    w.group = "QC"
    w.interval = 5.minutes
    w.start = "bundle exec rake queue:work" # This is your rake task to start QC listening
    w.gid = 'nginx' 
    w.uid = 'nginx'
    w.dir = rails_root
    w.keepalive
    w.env = {"RAILS_ENV" => rails_env} 
    w.log = "#{log_dir}/qc.stdout.log"  # Or....    "#{log_dir}//qc-#{queue_num}.stdout.log"

    # determine the state on startup
    w.transition(:init, { true => :up, false => :start }) do |on|
      on.condition(:process_running) do |c|
        c.running = true
      end
    end
  end
end

更新
該代碼似乎不起作用

namespace :queue_classic do
  desc "Start QC worker"
  task :start, roles: :web do
    run "cd #{release_path} && RAILS_ENV=production bundle exec rake qc:work"
  end
  after "deploy:restart", "queue_classic:restart"
end

文檔中所述,您可以通過發出重新啟動工作程序

god restart QC-<worker_number>

其中QC-<worker_number>是您分配給工人的名稱

根據您需要的監視類型,您還可以查看Toro ,它在Web界面中以及通過作業存儲大量數據並且可以使用ActiveRecord查詢輕松查詢的事實提供了大量監視。 Toro還支持中間件,這可能對您的需求有用。

暫無
暫無

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

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