避免查询等待时间

时间:2015-01-09 14:16:34

标签: node.js heroku meteor

我在调用函数时在我的meteor应用程序中注意到了这种模式,比如recordInput:

wait on method : recordInput - 2647 ms
wait on method : recordInput - 1121 ms
wait on method : recordInput - 1714 ms
wait on method : recordInput - 820 ms

所以在我看来,这个被异步调用的函数正在堆叠,因为它被多个用户调用。

我在heroku上运行应用程序,所以如果我想减少等待时间,我会增加dyno的大小或dynos的数量,或者这些变化都不会因为流星而有所不同/ node architecture?

1 个答案:

答案 0 :(得分:1)

Meteor为特定用户堆叠方法,我不确定你的设置是否完全确定,但Meteor方法是按特定顺序为特定连接设置的,下一个方法在调用前一个方法之前不会被调用返回结果。

这当然意味着多个连接可以同步运行,这仅适用于相同的连接。

如果您希望每个方法都触发,而不管以前的任何方法是否在堆栈上等待完成,请使用以下方法开始服务器端方法:

Meteor.methods({

    your_method_name: function() {

        this.unblock();

        ....

    }
});

[1] this.unblock()上的流星文档:http://docs.meteor.com/#/full/method_unblock