【问题标题】:Node.js cluster module dilemmaNode.js 集群模块困境
【发布时间】:2018-03-07 01:11:04
【问题描述】:

我了解扩展是什么以及 node.js 集群模块应该通过利用剩余内核来提高并发性来做什么。

但这是我的问题:如果我有某个函数要运行,比如说每天下午 6 点,我如何防止所有 8 名工作人员在下午 6 点运行该函数 8 次而不是一次?

【问题讨论】:

  • 我需要一个算法
  • 如果您在集群模式下使用nodejs,那么请求将只发送到一个工作进程,由主工作进程处理。我建议创建一个 cron 作业而不是正常的集群模式来执行定期作业。
  • @Aky_0788 它是使用节点调度程序的 cron 作业
  • 你可以在这里发布示例代码吗?我想了解您为什么将集群模式与 node-schedule 一起使用?

标签: javascript json node.js scaling


【解决方案1】:

您可以在主进程中设置一个时间间隔,并且每次都选择一个随机的工作人员来完成这项工作。您可以使用worker.send(message) 函数让工作人员知道新任务。

另一种方法是准备您的应用公开的 API 方法。该方法收到后会触发任务执行。要调用此 API 方法,您可以使用常规 cron。这样,您的应用就会知道它所做的工作,但不会知道时间表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-12
    • 2013-07-14
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2021-12-11
    • 1970-01-01
    相关资源
    最近更新 更多