지연된 작업을 사용하여 대기열에 일부 이메일을 추가하고 있습니다. 작업을 만드는 방법은 다음과 같습니다.지연된 작업에서 생성 된 작업의 ID 가져 오기
EventNotifications.reminder("email", "name", id).deliver_later
여기서 EventNotifications는 클래스이며 미리 알림은 그 안에있는 메서드입니다.
이 작업은 delayed_jobs 테이블에서 작업을 생성하지만 업데이트하려는 delayed_jobs 테이블 내에 사용자 정의 필드가 있으므로 생성 된 작업의 ID를 가져 오려고합니다. 나는 현재 위의 라인을 실행 한 후 얻을 무엇
은 다음과 같습니다
#<ActionMailer::DeliveryJob:0x00000005eb22d8 @arguments=["EventNotifications", "reminder", "deliver_now", "email", "name", 12], @job_id="6a549235-e8c1-407b-ac75-be8736559eaa", @queue_name="mailers">
이 제작 한 작업의 ID를 가지고 있지 않습니다. 그 이드를 어떻게 얻습니까?
Rails 4.2에 있고 Rails 5가 아니기 때문에'.provider_job_id'를 아직 사용할 수 없습니다. 그러나 당신은 [이 "해킹"]을 확인할 수 있습니다 (https://stackoverflow.com/questions/29855768/rails-4-2-get-delayed-job-id-from-active-job) –
개체 ID가 필요한지 또는 노동자 ID? –
@Jay 감사합니다. 당신의 대답을 살펴 보겠습니다. – Yesha