我正在使用resque-scheduler根据用户的输入调度动态crons。我的服务器堆栈正在使用带乘客+ 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
现在,每次重新启动或安排新的动态作业后,它都会加载我的静态计划,并且动态计划正在丢失。即使是随机时间更新时间表,也只加载静态时间表。
答案 0 :(得分:0)
加载动态计划的问题在gem版本中。请参阅github上的最新resque调度程序发布,这应该可以解决问题(大约10天后修复)。