你能定义任务优先级吗?

时间:2014-11-19 02:19:27

标签: node.js meteor event-loop thread-priority

我想对我在Meteor应用程序上执行的某些任务给予更高的优先级。我不想在此时扩展应用程序。

我希望能够处理在线支付,并且我要在数据库中插入相关数据,我不想等待太长时间进行此操作(假设服务器为常量高负载)。我想编写一个函数,它将获得比其余函数更高的执行优先级,这同样适用于数据库操作。

因此,当我尝试保存到Mongo:Payments.insert(paymentData)时,此方法是同步的,但这不是重点,我希望此插入优先于任何数据库操作。

如何使用单个实例Meteor应用程序进行此操作?

1 个答案:

答案 0 :(得分:0)

Node是单线程的。 Meteor就是基于它构建的,它使用了一种称为“Fibers”的东西,它可以为单线程应用程序半模拟多线程。

读取https://meteorhacks.com/fibers-eventloop-and-meteor.html

您将看到的第一件事是没有执行优先级的概念。您可以根据其处理付款来更改单个客户端将与另一个客户端处理的请求数量。

但是,如果你声称节点处于高负荷状态,如果无法跟上,我认为你不能真正帮助它。