重新安排node.js任务

时间:2012-07-18 05:41:04

标签: node.js

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

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

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

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

  • 任务A
  • 任务A
  • 任务A
  • 任务A
  • ....(可能是任务A的10000次)
  • 任务B

任务B无法在任务A任务中间中断。所以很有可能,其他用户无法在此node.js服务器上执行任何操作。

除了线程/集群,有没有办法重新安排这样执行的任务,让任务A的优先级最低?

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

谢谢!

1 个答案:

答案 0 :(得分:0)

有一些可能性:

  • 当用户A来时,您是否只是注意到您需要运行A.然后您编写一个由cronjob调用的nodeJS文件并创建所有任务A.
  • 您可以将任务A设为异步。如下例所示:Fibonacci async