0

最寄りのユーザーに通知を送信し、応答がない場合はすべてのユーザーに5分待たなければなりません。私はthread.spleep(5.min)を使用しましたが、プログラム全体を一時停止します。 バックグラウンドタスクについては読んでいますが、5分ごとに実行されますが、fuctionの1つの部分を実行してから5分待ってから、残りの部分をもう一度実行してください。5分後に機能を停止して再開する方法

+0

あなたはdelayed_job' –

答えて

0

5分後に実行したいものは、バックグラウンドタスクに入れます。

delayed_jobを使用する場合は、run_at機能を使用できます。 1回だけ実行されます(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

それは働いた。どうもありがとう –

関連する問題