我有一个跨越几个工作服务器的神/resque 设置。每隔一段时间,工作人员就会被长轮询连接阻塞,并且不会正确超时。我们已经尝试围绕它进行编码(但不管它为什么不起作用),通过网络发送的保持活动数据包不会让我们轻易地超时。
我希望某些工作人员(我已经在他们自己的监视块中分割出来)不允许运行超过一定时间。在伪代码中,我正在寻找类似以下的监视条件(即,如果完成任务的时间超过 60 秒,则重新启动该工作人员):
w.transition(:up, :restart) do |on|
on.condition(:process_timer) do {|c| c.greater_than = 60.seconds}
end
任何关于如何实现这一点的想法或指示将不胜感激。