2014-02-06 1 views
0

У меня есть приложение Ruby on Rails 4.0 и PostgreSQL, размещенное в VPS Ubuntu. в этом приложении я хочу отправить электронное письмо на основе данных в базе данных. например, фоновая работа проверяет содержимое таблицы в час и зависит от содержимого, отправляемого электронной почтой пользователю или нет. Я решил сделать эту работу Реске. как я могу это сделать? следует делать в приложении Rails или в независимой службе? и как я могу запланировать эту работу?Фоновая работа и планирование с помощью Resque

ответ

1

Есть еще пару вариантов, я советую вам попробовать

1. Cron: Один из наиболее предпочтительного подхода для любого разработчика Unix для запуска задачи, основываясь на некотором интервале. here читают больше о

FYI: если вы сталкиваетесь проблемы с настройками понимания хрон есть камень доступен сделать то же самое для вас его называют 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