Tag: 长时间运行的进程

如何执行/中止JS中的长时间运行的任务?

具有Mongo DB的NodeJS服务器 – 一个function将从DB生成报告JSON文件,这可能需要一段时间(60秒以上 – 必须处理数十万条logging)。 我们希望将其作为后台任务运行。 我们需要能够启动一个报表生成过程,监视它,并在用户决定更改参数并重新构build时终止它。 节点最简单的方法是什么? 不要真的想进入单独的工作服务器处理工作,消息队列等领域 – 我们需要保持在同一个盒子和相当简单的实现。 1)作为asynchronous方法启动构build,并返回给用户,与socket.io报告进度? 2)分离构build脚本的subprocess? 3)使用类似https://www.npmjs.com/package/webworker-threads ? 用我看过的几种方法,我就陷在了同样的两个方面。 1)如何监控进度? 2)如果用户重新提交数据,如何中止现有的构build过程? 任何指针将不胜感激…