0

我必須發送通知給最近的用戶,並等待5分鐘的迴應,如果沒有響應,你必須將其發送給所有用戶。我使用thread.spleep(5.min),但它暫停我的整個程序。 我讀過背景任務,但他們會在每5分鐘後運行,但我必須運行一部分功能,然後等待5分鐘,同時繼續其他工作,然後再運行其餘部分。如何運行暫停我的功能,並在5分鐘後恢復它的軌道

+0

您可以使用delayed_job' –

回答

0

無論你想在五分鐘後執行什麼,都把它放在後臺任務中。

如果使用delayed_job,則可以使用run_at函數。它只會執行一次(不是每5分鐘一次)。

例子:

Notifier.delay(run_at: 5.minutes.from_now).signup(@user) 
+0

我是否有seprate文件中寫入delayjob或者我可以使用同一類 self.delay的功能(run_at的':5.minutes.from_now ).myfunc(myobj) 我可以這樣做嗎? –

+0

無需創建單獨的文件。你可以像這樣直接調用 - @ user.delay.activate!(@ device)。它運作了 – Jayaprakash

+0

。非常感謝 –

相關問題