【问题标题】:Way to know that worker has finished Job/Process in Resque知道工人已在 Resque 中完成作业/流程的方法
【发布时间】:2012-01-15 14:41:42
【问题描述】:

有什么方法可以知道工作人员是否完成了 Resque 中的特定工作/流程。 场景:我有 5 名工人在做一些特定的流程,我想知道流程是否完成以继续处理其他部分代码。

如果有帮助的话,我正在使用 Ruby 1.8.7 和 Rails 3.1.1。

【问题讨论】:

  • 让worker在最后调用另一部分代码。
  • 另外,你为什么用不同的词两次发布同一个问题?
  • 如果您只运行一名工作人员就可以了。在这里,我为同一个 Job 运行多个 worker,代码的另一部分处理由 Job 保存的数据库。所以这在这里行不通。

标签: ruby ruby-on-rails-3 background redis resque


【解决方案1】:

你可能想使用类似 resque-status: https://github.com/quirkey/resque-status 的东西。

如果这不能完全满足您的需求,您可以随时查看 wiki 插件页面以获取更多可能性:https://github.com/defunkt/resque/wiki/plugins

将作业完成的事实作为额外字段存储在数据库中也不难。

【讨论】:

    【解决方案2】:
    1. 在代码中记录您的信息
    2. 使用redis-cli检查你的job的key是否有值
    3. resque-web 和 resque-status 也可以帮到你

    【讨论】:

      【解决方案3】:

      如果你需要知道这个,你可以试试gearman

      【讨论】:

      • 这就像更改整个工作人员代码。这将是一项繁琐的任务。
      猜你喜欢
      • 2012-01-13
      • 1970-01-01
      • 2015-06-14
      • 2016-04-21
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      相关资源
      最近更新 更多