【发布时间】:2012-05-29 18:19:03
【问题描述】:
我有一个与ActionMailer 一起使用的resque 工人类,另一个与Mail 直接一起使用。这是一个简短的例子:
class NotificationWorker
def self.perform(id)
Mailer.delivery_method.settings = {
# custom settings here
}
# Working with Mailer to deliver mails
end
end
假设可能有两个工作人员在 NotificationWorker 上运行,我不确定它们是否会相互干扰。据我了解,直接处理 Mail 类会破坏功能,因为这会导致两个邮件程序使用相同的设置而不是分配的设置。一个解决方案是创建这样一个类的克隆(它适用于 ActionMailer,但不适用于 Mail AFAIK)。
根据 Resque 文档:
Resque 工作者是永远运行的 rake 任务。他们基本上做 这个:
start
loop do
if job = reserve
job.process
else
sleep 5 # Polling frequency = 5
end
end
shutdown
除了 Rails 应用程序的基本用法之外,我对 rake 并不熟悉。那么有谁能给我指点一下吗?
【问题讨论】:
标签: rake actionmailer resque rake-task