2
我正在爲簡單電子郵件通知設置後臺任務,使用Rails 5
和DelayedJob
。生產日誌上的延遲作業調試
展望我的生產記錄和它的未來了以下項目:
[2016-08-05T20:22:15.094172 #10616] DEBUG -- :
Delayed::Backend::ActiveRecord::Job Load (1.0ms) UPDATE "delayed_jobs"
SET locked_at = '2016-08-06 10:22:15.092656', locked_by = 'delayed_job
host:jiably pid:10616' WHERE id IN (SELECT "delayed_jobs"."id" FROM
"delayed_jobs" WHERE ((run_at <= '2016-08-06 10:22:15.091986' AND
(locked_at IS NULL OR locked_at < '2016-08-06 06:22:15.092073') OR
locked_by = 'delayed_job host:vps-server-name pid:10616') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1 FOR UPDATE) RETURNING *
有隊列中沒有工作,當我測試我的應用程序的電子郵件通知的工作似乎要處理的罰款。
這是正常的嗎?它似乎經常重複並添加到日誌文件中。我確實有logrotate設置,但不確定它是否是我做或錯過的配置。
感謝您對此有所瞭解。
此線程是否安全?從我的理解AcitveRecord :: Base.logger被共享將AR類的所有其他實例 – Ruslan
@Ruslan看來你確實是正確的,尤其是因爲它在引用的問題中提到。我應該說明。我現在沒有時間做深入的分析。你會期待什麼影響? –
我自己並沒有做過任何分析。但是我假設,如果'AR'在切換髮生時運行一個查詢(工作者之外),那麼它將不會被記錄。時機必須十分準確 – Ruslan