1

很抱歉关于 Sidekiq 延迟 ActionMailer 的基本问题。根据这篇文章,Sidekiq 可以通过说来延迟发送电子邮件UserMailer.delay_for(1.hour)....

这是否意味着这现在是在后台处理的,还是意味着它只是将电子邮件发送延迟一个小时,但是一旦那个小时到来,那么电子邮件基本上就像普通的 ActionMailer 一样发送,这会减慢响应时间?

还是如果我真的想在后台执行此操作,那么我将不得不做其他 sidekiq 的事情,例如将其放入特定的 Worker 中,然后以这种方式启动它?

另外,如果我只是通过 做UserMailer.delay...,我想我不需要 Heroku 上的工人测功机来节省一些钱,对吗?

谢谢您的帮助!

4

1 回答 1

4

是的,对于电子邮件,您无需执行任何其他操作。这就像 1 小时后打电话给 Mailer。您只需要确保没有将任何复杂对象传递到邮件程序中,例如用户对象,您应该只传递 user_id,因为它将存储在 redis 中。在 Mailer 上获取具有给定 ID 的用户对象。

于 2013-06-01T02:23:00.423 回答