最佳实践beanstalkd(queue)和node.js

时间:2015-10-17 05:22:22

标签: node.js queue message-queue beanstalkd

我目前使用beanstalkd和node.js进行服务。 我希望当工作失败时,在放弃工作之前重试一次。 如果工作成功,我想要做同样的工作10次。 那么,最好的做法是什么,在mongo db中使用jobId错误和成功计数,或者删除并在正文中输入错误和成功计数的新作业。

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

2 个答案:

答案 0 :(得分:1)

还应该通过API库提供stats-job <id>\r\n,其中包括特定作业被保留,释放,隐藏等多少次。

这允许通过检查先前的预留/释放来重试失败的作业。

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

答案 1 :(得分:0)

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

  • 你可以释放这份工作,并从统计数据中获得储备数
  • 您可以使用重试计数添加新作业,并跟踪数据有效负载中的历史记录

您应该稍后执行,并且您不需要将MongoDB作为第二依赖项。