簡體   English   中英

Rails 2 Delayed_job寶石

[英]Rails 2 Delayed_job gem

我正在Rails 2應用程序上工作,我需要在后台作業中發送郵件。
我有Notifier模型,並從控制器中調用模型方法來發送郵件。
我在使用延遲作業之前和創建后使用Notifier.delay.deliver_method_name(params)調用該方法Notifier.deliver_method_name(params)

現在我的問題出現了

1)我是否需要啟動rake作業:在開發中在后台發送郵件的工作;如果是,則每次啟動服務器時都應運行它嗎?
2)我應該第一次進行耙工作:在工作上需要做什么?
3)如果發生任何錯誤,那么是正確的,如果成功,則延遲作業中只有一個條目,那么delay_job表中就沒有條目。

我點擊以下鏈接

https://github.com/collectiveidea/delayed_job/tree/v2.0

謝謝 :)

1)我是否需要啟動rake作業:在開發中在后台發送郵件的工作;如果是,則每次啟動服務器時都應運行它嗎?

是的,您必須單獨啟動rake任務。

Workers can be running on any computer, as long as they have access to the database and their clock is in sync. Keep in mind that each worker will check the database at least every 5 seconds.

2)我應該第一次進行耙工作:在工作上需要做什么?

是的,您必須使用RAILS_ENV=production script/delayed_job start但是我建議您在每次部署時停止並啟動它,以完成更改。

3)如果發生任何錯誤,那么是正確的,如果成功,則延遲作業中只有一個條目,那么delay_job表中就沒有條目。

不,這完全取決於您的配置

# config/initializers/delayed_job_config.rb
Delayed::Worker.destroy_failed_jobs = false
Delayed::Worker.sleep_delay = 60
Delayed::Worker.max_attempts = 3
Delayed::Worker.max_run_time = 5.minutes

暫無
暫無

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

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