【发布时间】:2014-01-11 10:37:03
【问题描述】:
我正在使用 resque-scheduler 根据用户的输入来安排动态 cron。我的服务器堆栈使用带有乘客 + nginx 配置的 Ubuntu 12.04。
我已设置 Resque::Scheduler.dynamic = true 并使用 set_schedule 方法和 persist: true 选项来安排动态作业
起初的问题是它给了我一些乘客错误:-
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
现在每次重新启动或安排新的动态作业后,它都会加载我的静态计划,而动态计划正在丢失。即使它正在更新时间表或随机时间并且仅加载静态时间表。
【问题讨论】:
标签: ruby-on-rails redis passenger resque resque-scheduler