如何运行并发无限作业

时间:2019-02-15 16:14:59

标签: javascript node.js asynchronous jobs

我有多个作业(功能),它们在我的数据库中处理数据。 它们应无限期并发运行。我想知道 运行它们的最佳方法。我应该为每个作业编写一个以node somejob.js开始的bash文件,还是应该使用JavaScript文件中的节点工作器或完全使用其他方法?

1 个答案:

答案 0 :(得分:1)

虽然我不知道完成这项工作的最佳方法,但最近我也研究了类似的问题。 由于这是一个广泛的问题,为便于说明,我将为您提供一个邮件服务示例。

我被要求提供一种可以被其他服务使用的邮件服务, 使用自定义模板将非相似的原始电子邮件放入队列,直到发送完毕。

我命名为dispatcher的程序(或工作程序)无限期运行,并检查排队的电子邮件 在数据库中。最多提取n个已排队的电子邮件(我们的电子邮件服务有一定的阈值)。 并同时发送它们,等待some秒,然后再次发送。

我要使用async.forever来无限期地运行调度程序。

要运行并发作业,我使用了async.map

似乎您可以在JS本身中完成此操作,而不是使用bash文件(对于某些cron东西)。您可以在async

处找到许多其他有用的方法