Я использую resque-scheduler для планирования динамических cron на основе ввода пользователя. Мой серверный стек использует Ubuntu 12.04 с конфигурацией пассажира + nginx.
Я установил Resque::Scheduler.dynamic = true и использовал метод set_schedule с параметром persist: true для планирования динамических заданий.
Сначала проблема заключалась в том, что это выдавало мне какую-то ошибку Passenger: -
Redis::InheritedError (Tried to use a connection from a child process without reconnecting. You need to reconnect to Redis after forking.
Итак, я ввел следующий блок в свой инициализатор resque: -
PhusionPassenger.on_event(:starting_worker_process) do |forked|
if forked
# Reconnect Resque Redis instance.
Resque.redis.client.reconnect
end
end
Теперь после каждого перезапуска или планирования нового динамического задания он загружает мои статические расписания, а динамические расписания теряются. Даже он обновляет расписания в случайное время и загружает только статические расписания.