Rails:如何检查电子邮件是否已加入队列

时间:2016-08-01 18:13:42

标签: ruby-on-rails email ruby-on-rails-4 delayed-job rails-activejob

如何检查电子邮件是否已经入队,我使用的是活动作业:

ofert_approved_notifier = Notifier.ofert_approved(@ofert.user, @ofert)
   if ofert_approved_notifier.deliver_later(wait: 1.hour)
      puts "Email ofert_approved sent successfully"
   else
      puts "Email ofert_approved could not be sent"
   end

正如您在上面所看到的,我发送了一封电子邮件给@ofert.user,它在发送前1小时推迟,上面的代码是控制器操作,我想检查电子邮件是否已经排入{ {1}},如果已经在队列中,我不想将同一封电子邮件发送给同一个用户。

我有办法检查吗?感谢

1 个答案:

答案 0 :(得分:0)

Delayed :: Job是一个ActiveRecord对象,因此您可以检查是否存在记录。

Delayed::Job.where(...)

查看存储记录的结构,了解您的电子邮件工作人员的存储方式以及如何通过电子邮件查找它们。祝你好运!