重新安排node.js任务

重新安排node.js任务,node.js,Node.js,我现在正在编写node.js套接字应用程序 由于它涉及一些CPU密集型任务,因此对于多连接任务来说会非常麻烦 问题是: 假设任务A是CPU密集型任务,它由连接A调用。 让任务B成为非常轻量级的任务,它由所有其他连接调用,比如说,>10k连接 当连接A“几乎同时”调用大量任务A时(这在我的设计中是正常的,因为每个数据包都需要处理)。任务的计划如下所示: 任务A 任务A 任务A 任务A ..(可能是任务A的10000倍) 任务B 任务B不能在任务中间中断任务。因此,其他用户很可能无法在此node

我现在正在编写node.js套接字应用程序

由于它涉及一些CPU密集型任务,因此对于多连接任务来说会非常麻烦

问题是: 假设任务A是CPU密集型任务,它由连接A调用。 让任务B成为非常轻量级的任务,它由所有其他连接调用,比如说,>10k连接

当连接A“几乎同时”调用大量任务A时(这在我的设计中是正常的,因为每个数据包都需要处理)。任务的计划如下所示:

  • 任务A
  • 任务A
  • 任务A
  • 任务A
  • ..(可能是任务A的10000倍)
  • 任务B
任务B不能在任务中间中断任务。因此,其他用户很可能无法在此node.js服务器上执行任何操作

除了线程/集群之外,还有什么方法可以像这样重新安排执行的任务,使任务A具有最低优先级

  • 任务A
  • 任务A
  • 任务B
  • 任务A
  • 任务A
  • 任务A
  • 任务A
  • 任务B
  • 任务A

谢谢

有一些可能性:

  • 当用户A出现时,您是否注意到您需要运行A。然后您编写一个由cronjob调用的nodeJS文件,并将所有任务设为A
  • 您可以将任务设为异步任务。像这个例子:

即使我将它们放入cronjob,它们也会同时排队。问题仍然会发生。如果Cronjob调用Taskist,则用户仍然可以访问您的服务器。这将是两个不同的过程。