Ruby on Rails 4.0 및 PostgreSQL 응용 프로그램이 Ubuntu VPS에 호스팅되어 있습니다. 이 응용 프로그램에서는 데이터베이스의 데이터를 기반으로 전자 메일을 보내려고합니다. 예를 들어 백그라운드 작업은 시간당 테이블 컨텐트를 확인하고 컨텐트에 따라 사용자에게 전자 메일을 보내거나 보내지 않습니다. Resque가이 작업을하기로 결심했습니다. 어떻게 할 수 있습니까? Rails 앱 또는 독립적 인 서비스에서해야합니까? 이 작업을 예약하려면 어떻게해야합니까?Resque를 사용한 백그라운드 작업 및 스케줄
0
A
답변
1
난 당신이
1. Cron
하려고 조언 더 많은 옵션의 몇 가지가 있습니다. here보다 약
참고 읽기 : 당신이 이해 크론 설정 문제에 직면하면 당신을 위해 동일한 작업을 수행 할 수 주옥가 그 whenever
2. Resque-Schedluer
전화 : 확실히 당신은 정확하게 제공 resque - 플러그인 중 하나를 놓친 원하는 기능과 동일한 기능을 resque-scheduler
이라고합니다. 그것도 작동하도록 cron 설정을 제공합니다 자세한 정보는 위의 링크를 확인하십시오
희망이 도움
0
시간당 (시간당) 우분투 서버에서 프로세스를 원하므로 Resque를 사용하지 않습니다. 예를 들어 시간당 테이블 내용을 확인하고 이메일로 사용자에게 경보를 보냅니다. 나는 데몬 (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