[英]Run Delayed Job at a specific time
我有一個電子郵件傳送作業,我想在用戶指定的時間運行它。 我有一個日期時間列deliver_at,我應該在其中發送電子郵件。 我正在使用延遲作業來執行后台作業。
延遲作業允許我指定時間差而不是調度作業的確切時間。
GiftCardMailerJob.set(wait: delay_by.minutes.from_now).perform_later(go)
有沒有辦法直接給deliver_at時間並在那個時候運行延遲的作業?
如果不是,我怎樣才能到達時差?
((deliver_at - Time.now) / 60).minutes.from_now
正確的做法應該是?
你可以在delayed_jobs
使用enqueue
方法
Delayed::Job.enqueue(GiftCardMailerJob.new, :run_at => deliver_at)
如果您在數據庫中看到delayed_jobs
表,則run_at
字段的類型為datetime
,您可以為它設置任何datetime
值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.