Ich füge einige E-Mails in die Warteschlange ein, die verzögerte Jobs verwenden. Die Art und Weise, wie ich einen Job erstelle, ist unten angegeben:Id des erstellten Jobs in verzögerten Jobs erhalten
EventNotifications.reminder("email", "name", id).deliver_later
wo EventNotifications ist die Klasse und Erinnerung ist die Methode darin.
Dies erstellt einen Job in der Tabelle "delayed_jobs", aber ich möchte die ID des Jobs erstellt werden, da ich ein benutzerdefiniertes Feld in der Tabelle "delayed_jobs" habe, die ich aktualisieren möchte.
Was zur Zeit nachdem ich die obige Zeile läuft:
#<ActionMailer::DeliveryJob:0x00000005eb22d8 @arguments=["EventNotifications", "reminder", "deliver_now", "email", "name", 12], @job_id="6a549235-e8c1-407b-ac75-be8736559eaa", @queue_name="mailers">
Dies ist nicht die ID des Job hat, der erstellt wurde. Wie bekomme ich diese ID?
Da Sie in Rails 4.2 und noch nicht Rails 5 sind, können Sie '.provider_job_id' noch nicht verwenden. Aber Sie können [diese "Hacks"] überprüfen (https://stackoverflow.com/questions/29855768/rails-4-2-get-delayed-job-id-from-active-job) –
Ob Sie Objekt-ID oder benötigen Arbeiter-ID? –
@Jay Danke. Ich werde in Ihre Antwort schauen – Yesha