最佳实践beanstalkd(队列)和node.js

Best practice beanstalkd (queue) and node.js

我目前使用 beanstalkd 和 node.js 提供服务。 我想当工作失败时,在放弃工作之前重试 n 次。 如果工作成功,我想做同样的工作 10 次。 那么,最佳做法是什么,在 mongo db 中存储错误和成功计数的 jobId,或者删除并在正文中放入一个带有错误和成功计数的新作业。

不知道我说清楚没有?所以告诉我,非常感谢

您有几种方法可以做到这一点:

  • 你可以发布任务,统计获取储备数量
  • 您可以放置​​一个带有重试计数的新作业,并在数据负载中跟踪历史记录

你应该在后面做,你不需要 MongoDB 作为第二个依赖项。

有一个 stats-job <id>\r\n 也应该可以通过 API 库获得,returns,除其他外,特定作业被保留、释放、隐藏的次数, 等等。

这允许通过检查以前的 reservation/releases 来重试失败的作业。

要多次 运行 相同的工作,我会亲自创建一个额外的工作,然后增加成功计数(到另一个新工作) - 或者,所有九个新工作,开始前的可选延迟。