后台作业和调度与 resque



我有一个Ruby on Rails 4.0和PostgreSQL应用程序托管在Ubuntu VPS中。 在此应用程序中,我想根据数据库中的数据发送电子邮件。 例如,后台作业每小时检查一次表内容,并取决于是否向用户发送电子邮件的内容。我决定由Resque做这项工作。 我该怎么做? 我应该在 Rails 应用程序中还是在独立服务中执行? 我该如何安排此作业?

我建议您尝试更多选项

1. Cron:任何Unix开发人员基于某个间隔运行任务的最首选方法之一。 以下是阅读更多关于

仅供参考:如果您在理解 cron 设置时遇到问题,可以使用 gem 为您做同样的事情,它称为whenever

2. Resque-Scheduler:当然,您错过了一个Resque插件,该插件提供了与您需要的完全相同的功能,称为resque-scheduler。它也提供了类似 cron 的设置供您处理 请查看上面的链接以获取更多信息

希望这有帮助。

我不使用 Resque,因为我想要在 Ubuntu 服务器中按计划时间(每小时)进行进程。 例如,每小时检查表内容并通过电子邮件向用户发送警报。 我通过守护进程制作一个过程,并rufus-scheduler调度。

Process.daemon(true)
task_test = TaskTest.new
pid = Process.fork do
task_test.task
end
class TaskTest
def task
scheduler = Rufus::Scheduler.new
scheduler.every '1h' do
msg = "Message"
mailer = MailerProcess.new
mailer.send_mail('email-address', 'password', 'to-email', 'Subject', msg)
puts Time.now
end
scheduler.join
end
end

最新更新