【问题标题】:Sidekiq will execute your job at least once, not exactly onceSidekiq 将至少执行一次您的工作,而不是一次
【发布时间】:2021-01-21 04:20:19
【问题描述】:

我遇到 Sidekiq best practices docs 提到这一点

请记住,Sidekiq 至少会执行一次您的工作,而不是 恰好一次。

谁能用例子解释一下这是什么意思?

【问题讨论】:

    标签: sidekiq ruby-on-rails-6


    【解决方案1】:

    这个paragraph开头的at least once的解释。

    例如,使用错误重试功能,您的作业可能会被处理一半,抛出错误,然后一遍又一遍地重新执行,直到它成功完成。

    def perform 
      $counter += 1 
      raise RuntimeError, 'Run again'
    end
    

    如上所示,我们在成功完成之前引发错误,该作业将被重试,直到尝试次数用完。作业每运行一次,$counter 就会增加 1。
    使您的工作具有幂等性和事务性,以避免不一致。

    【讨论】:

      猜你喜欢
      • 2011-09-21
      • 2018-09-26
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      相关资源
      最近更新 更多