如何跟踪已被杀死的 sidekiq 作业?

How to track the sidekiq jobs that have been killed?

我正在寻找一种方法来跟踪突然终止的 sidekiq 作业。我可以在 sidekiq 中执行 on_delete 种操作(我在文档中找不到任何操作),以便在突然删除作业时执行某些过程。

我查看了 sidekiq ruby gem 文档,但找不到解决方案。

我正在使用 sidekiq v5.0.4

由于某些异常而死亡的 Sidekiq 作业应使用重试设置重试

class SomeWorker
  include Sidekiq::Worker

  sidekiq_options retry: 3 # retry 3 times before dying 

  def perform
    # do stuff
  end
end

所有重试后死亡的作业最终进入死亡队列

没有简单的方法来监视从 Sidekiq 队列中删除的作业,因为开发人员在控制台中删除它们或删除它们。一旦它们被删除,就没有任何东西可以挂钩了,因为它们将从 key/value 存储中删除,即 Redis。

如果您想监控特定的作业状态,您可能需要查看 sidekiq-status gem,它可以帮助解决这个问题。