Q & 서비스를 실행 중입니다. 관리자가 할 수있는 일 중 하나는 offtopic으로 질문을 표시하는 것입니다. 그들이 그렇게 할 때 이메일은 그 사람의 이메일에 도착하게됩니다.ActionMailer 요청 전달을 중단하려면 어떻게해야합니까?
이메일 알림 delayed_job를 통해 전송됩니다
QuestionMailer.delay.notify_asker_of_offtopic_flag question
그러나, 때때로 누군가에 같은 논외 질문을 표시하거나 자신의 마음을 바꿀 실수 있습니다.
지연 호출 메일러 : 메일러 요청이 실행될 때 나는 짧은 지연을 만들고 문제는 여전히 논외 여부를 평가하려는 원래 묻는 사람에게가는 잘못된 알림을 방지하려면
QuestionMailer.delay(run_at: Time.now + 3.minutes).notify_asker_of_offtopic_flag(question)
메일러 다음 if
블록은 단순히 오류 WHI가 발생하기 때문에
class QuestionMailer
...
def notify_asker_of_offtopic_flag question
if question.offtopic?
# do mailing
end
end
end
불행하게도이 그렇게 간단하지 않다 그런 다음, ch는 delayed_job을 반복하여 작업을 다시 시도합니다.
같은 끝을 얻기 위해 꽤 둥근 방법을 실험하고 있지만 실제로는 오류를 트리거하지 않고도 QuestionMailer
동작을 중단하는 방법을 찾고 싶습니다. 이것이 가능한가?
감사합니다, 우리는 단순히 잘 속는
.deliver
방법을 포함하는 더미 메일러 개체를 반환이를 설명하기 위해. 나가 갈 고려하고 있던 곳에이었다 그러나 더 청결한 방법이 있는지 확실하지 않았다 –