从作业确定当前队列

时间:2017-01-10 08:21:28

标签: ruby resque

我正在使用resque hook实现一些resque活动的记录,例如:

def before_perform_log_start(*args)
  logger.info("Job #{self.to_s} started on queue #{queue_name}") # pseudo implementation
end

现在我想要包含作业实际运行的队列。天真的方法是简单地读取@queue实例变量,因为我们通常将其设置为指示作业队列。但是,任何来电者 可以使用enqueue_to覆盖队列:

Resque.enqueue_to('foobar', MyJob)

所以我的问题是:我可以确定实际提取作业的队列吗?

在堆栈跟踪中,我可以看到我的作业perform方法由Resque::Job的实例调用,该实例具有队列的访问者。但是,我认为无法获得该工作实例。

0 个答案:

没有答案