2014-02-06 64 views
0

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

回答

1

有几个更多的选择,我建议你尝试

1. Cron:一是对任何UNIX开发运行基于某些间隔任务最首选的方法。 here是阅读更多关于

FYI:如果你面临着理解的cron设置问题有可为你做同样的宝石其称为whenever

2. Resque-Schedluer:当然,你错过了resque-插件之一是提供完全相同的功能,你需要它的所谓resque-scheduler。它也提供克朗喜欢设置为您工作 请检查上面的链接了解更多信息

希望这个帮助

0

我不使用Resque,因为我想在一个计划时间(每小时)的Ubuntu服务器中创建一个进程。例如每小时查看表格内容并通过电子邮件向用户发送警报。 由Daemon和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