Ruby on rails 如何设置重新确认作业的超时
我需要实现一个功能,如果在某个时间内没有处理作业,则可以让重新创建作业超时 因此,假设创建了一个作业,但无法在一小时内处理,因为队列太长和/或没有足够的工人在工作 在这种情况下,我不想删除这份工作……最好的办法是什么?也许有一个配置参数我正在监督或第三方宝石Ruby on rails 如何设置重新确认作业的超时,ruby-on-rails,ruby,resque,Ruby On Rails,Ruby,Resque,我需要实现一个功能,如果在某个时间内没有处理作业,则可以让重新创建作业超时 因此,假设创建了一个作业,但无法在一小时内处理,因为队列太长和/或没有足够的工人在工作 在这种情况下,我不想删除这份工作……最好的办法是什么?也许有一个配置参数我正在监督或第三方宝石 谢谢我不知道默认情况下是否有办法在Resque中实现这一点,但自己动手并不难 在你的工作中,做这样的事情: def perform(id, queued_at) return false unless Time.parse(queued
谢谢我不知道默认情况下是否有办法在Resque中实现这一点,但自己动手并不难 在你的工作中,做这样的事情:
def perform(id, queued_at)
return false unless Time.parse(queued_at) >= 1.hour.ago
...
end
要将作业排队,请执行以下操作:Resque.enqueue(MyJobClass、object.id、DateTime.now)。第一行将自动转储作业,如果作业在一小时前排队时间超过一小时,将阻止其执行。默认情况下,我不知道是否有办法在Resque中执行此操作,但您自己也不难做到 在你的工作中,做这样的事情:
def perform(id, queued_at)
return false unless Time.parse(queued_at) >= 1.hour.ago
...
end
要将作业排队,请执行以下操作:Resque.enqueue(MyJobClass、object.id、DateTime.now)。如果作业排队时间超过一小时,第一行将自动转储作业,并阻止其执行。是一个gem,用于超时作业。不确定它是否删除或notalready是否已检查…它将终止长时间运行的重新确认任务。因此,这不是我想要的:(是一个应该暂停作业的gem。不确定它是否会删除或notalready检查…它会杀死长时间运行的resque任务。因此,这不是我想要的:(谢谢。我们会完成这项工作的。我只是想知道直接从resque访问queued_at字段是否是一种简单的方法!?我很有信心resque甚至不会费心跟踪queued_at,所以不,除非您自己跟踪它,否则无法访问它。我必须添加.to_s:Time.parse(queued_at.to_s)谢谢。我们会完成这项工作的。我只是想知道直接从resque访问queued_at字段是否是一种简单的方法!?我非常自信resque甚至不会费心跟踪queued_at,所以不,除非您自己跟踪它,否则无法访问它。我必须添加.to_s:Time.parse(queued_at.to_s)