【问题标题】:How many simultaneous scheduled Jobs can I have in Node我可以在 Node 中同时拥有多少个计划作业
【发布时间】:2013-09-23 00:36:03
【问题描述】:

在我正在开发的这个 Node 应用程序中,用户可以进行预约。 预约后,用户将在实际预约前 X 小时收到邮件提醒。

我正在考虑使用节点调度来完成这项任务。

对于每个约会:设置一个未来的日期,发送一次提醒邮件并删除这个特定的预定工作

但是......当应用程序增长时,可能会有很多预约,这意味着会有很多节点调度进程同时休眠并等待触发......

假设我们为每个客户的未来预订了 180 个约会,假设应用现在有 50 个客户。这为我们提供了大约 9000 个计划任务休眠并等待触发。

问题:这完全可以吗? ...或者所有这些同时安排的任务会很多/很多吗?

【问题讨论】:

    标签: node.js express cron design-principles


    【解决方案1】:

    简短的回答:9000 不是很多,你很高兴。但是,我建议您编写一个基准测试以自己查看。

    我检查了 node-schedule 的来源,果然,它将调度委托给 setTimeout 以执行基于日期的任务。这意味着您的作业是使用 node.js 内部事件循环安排的。

    这段代码非常高效,因为 node.js 是为同时处理数千个请求而定制的。

    不管挂起的作业有多少,node.js 只会关心下一个任务并休眠到它的日期(除非异步 I/O 中断它),因此调度任务本质上是 O(1)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      相关资源
      最近更新 更多