簡體   English   中英

如何配置queue_classic日志記錄

[英]How to configure queue_classic logging

我找不到任何關於如何使queue_classic將日志寫入文件的解決方案。 Queue_Classic用於記錄的Scrolls似乎也沒有任何示例。

有人能提供一個有效的例子嗎?

QC調用的方法中的日志記錄將成為日志記錄的來源。 例如,在rails中。 對Rails.logger的任何調用都將轉到適合您的RAILS_ENV的日志文件。 來自滾動的日志數據轉到stdout,因此您可以在啟動它們時將STDOUT從隊列中傳輸到日志文件。

您可以使用god.rb控制您的隊列,給出一個類似於此的god.rb配置實例(我已經為您排除了隊列,目錄等的配置):

 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 

FWIW,我發現STDOUT日志數據不太有用,可能最終只是將它發送到bitbucket。

如果日志數據無用,我們應該考慮刪除它。

當我從命令行運行它時,DEBUG非常好用。 有時候我想弄清楚我做了什么來把所有東西都搞砸了(通常捆綁問題,路徑問題等等)。 或者當我要演示隊列中發生的事情的時候。

對我來說,INFO日志記錄包括標准的lib = queue_classic level = info action = insert_job elapsed = 16消息以及來自分叉執行或PostgreSQL的任何STDOUT / STDERR。 我沒有擴展任何日志記錄類,因為滾動到STDOUT並且我的任務在提供日志記錄的環境中。

當然,它可以刪除。 我認為真的取決於環境以及隊列正在做什么。 如果我要做一些沒有Rails.logger的東西,那么我會使用QC.log並更有效地滾動並以這種方式檢測我的任務。

當我玩它時,我可能保持我的配置,因為輸出來自任務本身調用的方法/應用程序。 我可能決定覆蓋QC.log代碼來添加日期/時間。 我仍在努力確定哪些適合我的需求。

對不起,我的最后一行真正關注的是我給出的環境示例。

原文:在這里輸入鏈接說明

暫無
暫無

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

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