我有一个可以直接使用的 resque 工人阶级ActionMailer
和另一个可以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。那么任何人都可以启发我吗?