У меня есть приложение Ruby on Rails 4.0 и PostgreSQL, размещенное в VPS Ubuntu. в этом приложении я хочу отправить электронное письмо на основе данных в базе данных. например, фоновая работа проверяет содержимое таблицы в час и зависит от содержимого, отправляемого электронной почтой пользователю или нет. Я решил сделать эту работу Реске. как я могу это сделать? следует делать в приложении Rails или в независимой службе? и как я могу запланировать эту работу?Фоновая работа и планирование с помощью Resque
ответ
Есть еще пару вариантов, я советую вам попробовать
1. Cron
: Один из наиболее предпочтительного подхода для любого разработчика Unix для запуска задачи, основываясь на некотором интервале. here читают больше о
FYI: если вы сталкиваетесь проблемы с настройками понимания хрон есть камень доступен сделать то же самое для вас его называют whenever
2. Resque-Schedluer
: Конечно, вы пропустили один из Resque-плагина, который обеспечит точно то же самое, что вам нужно его назвать resque-scheduler
. Он также обеспечить хроны как настройки для вас, чтобы работать на Пожалуйста, проверьте ссылку выше для получения дополнительной информации
Надежда этой помощь
Я не использую 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