0

Ich muss Benachrichtigung an den nächsten Benutzer und warten Sie 5 Minuten für ihre Antwort, im Falle einer fehlenden Antwort müssen Sie es an alle Benutzer senden. Ich habe thread.spleep (5.min) benutzt aber es pausiert mein ganzes Programm. Ich lese über Hintergrundaufgabe, aber sie werden alle 5 Minuten laufen, aber ich muss einen Teil der Funktion ausführen und dann 5 Minuten warten, während andere Arbeit fortgesetzt wird und dann den verbleibenden Teil erneut ausführen.Wie mache ich Pause meine Funktion und setze es nach 5 min in Schienen

+0

Sie können –

Antwort

0

Was immer Sie nach fünf Minuten ausführen möchten, legen Sie es in eine Hintergrundaufgabe.

Wenn Sie delayed_job verwenden, können Sie die Funktion run_at verwenden. Es wird nur einmal ausgeführt (nicht alle 5 Minuten).

Beispiel:

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

Verwendung von 'delayed_job' machen Do i delayjob in seprate Datei schreiben oder ich kann gleiche Funktion der Klasse self.delay verwenden (run_at: 5.minutes.from_now) .myfunc (myobj) kann ich das tun? –

+0

Keine Notwendigkeit, separate Datei zu erstellen. Sie können direkt wie folgt anrufen - @ user.delay.activate! (@ Device). – Jayaprakash

+0

hat es funktioniert. Danke vielmals –

Verwandte Themen