我是这个node.js lib:async-kit。
的作者我正在编写工作人员/队列功能。
默认情况下,worker一次处理一个作业,但并发级别可以调整为任何值。
假设我创建了一个并发级别为3的worker,因此任何时候最多可以挂起3个异步作业。在撰写本文时,当没有更多作业待处理时,即当所有作业都触发了回调时,我的lib将发出'drain'事件。我们称之为“没有更多待处理的工作”事件。
但是,人们可能希望在待处理作业数量降至3以下的任何时候发出事件,这意味着如果将新作业添加到队列中,它将立即运行。让我们暂时将其称为“准备加工 - 新工作 - 现在”活动。事实上,这个事件比“没有更多待处理的工作”事件更有用。
那么......'drain'事件的node.js中的标准是什么?它更像是“没有更多待定工作”,还是更像是“准备加工新工作 - 现在”?
我倾向于第一个,第二个似乎更有用,我找不到实现这两种事件的lib,所以我找不到'ready-的标准化名称到进程新在职右现在”。
同样重要的是要注意,对于“一次一个工作”的默认行为,这两个事件无论如何都会同时发生。
有什么建议吗?