【发布时间】:2015-11-14 10:49:19
【问题描述】:
我有一个邮件:
class MyMailer < ActionMailer::Base
def send_something(user_id)
return unless User.exists?(user_id) # <- the problem
mail to: [...]
end
end
从 Sidekiq 调用:
MyMailer.delay.send_something(id)
但是,如果在作业实际运行时 user_id 不存在,我只想返回而不发送任何电子邮件。但是 Sidekiq 不喜欢这样,会引发错误 (https://github.com/mperham/sidekiq/issues/2149)。
我应该怎么做 - 也许有一个我可以返回的虚拟/空 ActiveMailer 对象?
【问题讨论】:
-
你的意思是
return unless User.exists?(user_id)?
标签: ruby-on-rails ruby actionmailer sidekiq