2015-10-17 67 views
0

我目前使用beanstalkd和node.js来执行服务。 我想在工作失败时重试n次,然后再放弃工作。 如果工作成功,我想要做同样的工作10次。 那么,最好的做法是,在mongo db中存储jobId错误和成功计数,或者删除并放入一个新的工作,其中包含错误和成功计数。最佳实践beanstalkd(队列)和node.js

我不知道我是否清楚?所以告诉我,非常感谢

+0

好的非常感谢很多 –

回答

0

你有几个方法可以做到这一点:

  • 可以释放作业,并从统计获得的储备数量
  • ,你可以把一个新的工作与重试计数,并跟踪数据有效负载中的历史记录

您应该做的更晚,并且不需要MongoDB作为第二个依赖项。

+0

非常感谢答案,但如果我释放我不知道hon许多错误和多少成功只是总发布数没有? –

+0

比你可以跟踪消息JSON – Pentium10

0

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

这允许通过检查先前的保留/释放来对失败的作业进行多次重试。

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