最佳实践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 来重试失败的作业。
要多次 运行 相同的工作,我会亲自创建一个额外的工作,然后增加成功计数(到另一个新工作) - 或者,所有九个新工作,开始前的可选延迟。
我目前使用 beanstalkd 和 node.js 提供服务。 我想当工作失败时,在放弃工作之前重试 n 次。 如果工作成功,我想做同样的工作 10 次。 那么,最佳做法是什么,在 mongo db 中存储错误和成功计数的 jobId,或者删除并在正文中放入一个带有错误和成功计数的新作业。
不知道我说清楚没有?所以告诉我,非常感谢
您有几种方法可以做到这一点:
- 你可以发布任务,统计获取储备数量
- 您可以放置一个带有重试计数的新作业,并在数据负载中跟踪历史记录
你应该在后面做,你不需要 MongoDB 作为第二个依赖项。
有一个 stats-job <id>\r\n
也应该可以通过 API 库获得,returns,除其他外,特定作业被保留、释放、隐藏的次数, 等等。
这允许通过检查以前的 reservation/releases 来重试失败的作业。
要多次 运行 相同的工作,我会亲自创建一个额外的工作,然后增加成功计数(到另一个新工作) - 或者,所有九个新工作,开始前的可选延迟。