我正在尝试使用delayed_jobs(后台工作人员)来处理我收到的电子邮件。
class EmailProcessor
def initialize(email)
@raw_html = email.raw_html
@subject = email.subject
end
def process
do something with @raw_html & @subject
end
handle_asynchronously :process, :priority => 20
end
问题是我无法将实例变量(@raw_html& @subject)传递给延迟作业。延迟作业请求我将数据保存到要在后台任务中检索的模型中,但我更希望让后台工作人员完成整个任务(包括保存记录)。
有什么想法吗?
答案 0 :(得分:1)
使用delay
将params传递给您想要在后台运行的方法:
class EmailProcessor
def self.process(email)
# do something with the email
end
end
# Then somewhere down the line:
EmailProcessor.delay.process(email)