Вот мой rescue-scheduler.yml
SendPerformanceDetails:
every:
- 60s
- :first_in: 1s
class: "SendPerformanceDetails"
queue: performance_details
args:
description: "Send performance details to users"
Вот класс send_performance_details :
class SendPerformanceDetails
@queue = :performance_details
def self.perform
Resque.logger.info "Starting 'sending performance details to '"
result = `RAILS_ENV=development rake emails:send_performance_details`
Resque.logger.info result
Resque.logger.info "Performance details sent to users"
end
end
Задача выполняется без ошибок и успешно завершается , Но письмо не отправлено. Если я вручную запускаю грабли, приложение отправляет электронное письмо. Что я делаю не так?
Обновление: - Я только что заметил, что задача при запуске по планировщику запускается в тестовой среде. Я понятия не имею, почему ..
Кроме того, я должен вручную поставить в очередь запланированную задачу в веб-интерфейсе resque. Разве это не должно быть поставлено в очередь автоматически. В противном случае, rescue_log просто показывает эти строки снова и снова:
resque-2.0.0: Waiting for performance_details
D, [2020-05-01T16:34:37.585857 #11039] DEBUG -- : Checking performance_details
D, [2020-05-01T16:34:37.586846 #11039] DEBUG -- : Sleeping for 5.0 seconds
D, [2020-05-01T16:34:37.587613 #11039] DEBUG -- : resque-2.0.0: Waiting for performance_details
D, [2020-05-01T16:34:42.588857 #11039] DEBUG -- : Checking performance_details
D, [2020-05-01T16:34:42.589710 #11039] DEBUG -- : Sleeping for 5.0 seconds
D, [2020-05-01T16:34:42.590617 #11039] DEBUG -- : resque-2.0.0: Waiting for performance_details
D, [2020-05-01T16:34:47.591393 #11039] DEBUG -- : Checking performance_details