javascript - Node js在无限循环中调用有限数量的函数以寻找新任务
问题描述
我正在寻找建议或现成的包裹。我有一个编码音频和视频的功能。但在调用此函数之前,另一个函数会检查数据库是否有要编码的文件。我的问题是我真的不知道应该如何实现它。我的第一个想法看起来像这样
let runningEncode = 0;
function runWorkFlow(maxEncode) {
while (runningEncode < maxEncode) {
console.log("Check if file")
if("File"){
++numRunning
console.log("start encoding")
await new Promise(r => setTimeout(r, 20000)) //Encode simulation
console.log("end encoding")
--numRunning;
}
await new Promise(r => setTimeout(r, 5000)) //Check database for every 5 sec
}
}
runWorkFlow(2)
但即使对我来说它看起来也很糟糕
我想要实现的是只调用 2 个编码函数,当一个完成后检查数据库。如果没有要编码的文件,则每 5 秒检查一次数据库
解决方案
推荐阅读
- c# - 如何阻止将文档上传到已存在的 SharePoint?- CRM在线集成
- c# - 使用独立线程在 Windows 窗体中启动、暂停和继续嵌入式 HALCON 应用程序时出现问题
- templates - 导入包含同名模板的 XSLT 脚本
- python - Python - 拆分包含字符的列表元素(例如/,[])并创建新元素
- xslt - PDF 阅读器双页视图中的 XSL FO 封面
- ruby-on-rails - RSpec 帮助器规范失败但在浏览器中有效
- javascript - 当我更新用户对象的一个值时,数据库中的所有其他值都将被删除。我能做些什么呢?
- reactjs - Chain redux 商店更新
- typescript - 使用泛型函数扩展 Array 原型
- java - Api 将日期时间作为数字返回,我怎样才能使它成为正确的日期?