我有多个作业(功能),它们在我的数据库中处理数据。
它们应无限期并发运行。我想知道
运行它们的最佳方法。我应该为每个作业编写一个以node somejob.js
开始的bash文件,还是应该使用JavaScript文件中的节点工作器或完全使用其他方法?
答案 0 :(得分:1)
虽然我不知道完成这项工作的最佳方法,但最近我也研究了类似的问题。 由于这是一个广泛的问题,为便于说明,我将为您提供一个邮件服务示例。
我被要求提供一种可以被其他服务使用的邮件服务, 使用自定义模板将非相似的原始电子邮件放入队列,直到发送完毕。
我命名为dispatcher
的程序(或工作程序)无限期运行,并检查排队的电子邮件
在数据库中。最多提取n
个已排队的电子邮件(我们的电子邮件服务有一定的阈值)。
并同时发送它们,等待some
秒,然后再次发送。
我要使用async.forever
来无限期地运行调度程序。
要运行并发作业,我使用了async.map
。
似乎您可以在JS本身中完成此操作,而不是使用bash文件(对于某些cron东西)。您可以在async