2014-02-06 97 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