我正在使用来自npm的bull包来管理队列"npm“。我大部分时间都弄明白了,但在配置中似乎有些东西我不明白。
在一个新队列的配置中,有这样一个:
maxStalledCount: number = 1; // Max amount of times a stalled job will be re-processed.这来自他们的github的参考页面,然后您可以定义另一个配置:
attempts: number; // The total number of attempts to try the job until it completes.我应该指出,这与失败的工作有关。
首先,似乎只有尝试实际上决定了任何事情,不管在maxStalledCount中是什么,脚本只会遵循设置的尝试量。例如:如果我将尝试设置为3,将maxStalledCount设置为1,它仍将执行3次尝试,然后在“用尽尝试”时将其移动到失败:如果将尝试设置为1,而将maxStalledCount设置为3,则在将其抛入失败之前只进行1次尝试。
有人能解释一下这种区别吗?我在网上找不到任何东西。
最终,我想要我的队列做的是尝试一些最多5次的东西,然后将它移到失败,并且能够在以后的某个时候得到所有失败的作业来重试它们,我将如何配置它们呢?
添加到参考页面的链接:https://github.com/OptimalBits/bull/blob/develop/REFERENCE.md
谢谢。
发布于 2019-08-21 17:02:00
“停滞”的工作和“失败的”工作有区别。根据公牛文档里的这张纸条的说法,在以下情况下,一项工作被视为停滞不前:
maxStalledCount是一种安全保障,所以有问题的作业不会无限期地重新启动。
如果您正在处理失败的作业,则“尝试”选项指示尝试的次数。
关于您想要的行为::
const failedJobs = cacheQueue.getFailed();failedJobs.forEach(job => job.retry());https://stackoverflow.com/questions/55703021
复制相似问题