我是 node.js 的新手,正在使用 restify、mongoose 和 mongodb 构建服务。我正在构建的服务之一需要发送一封电子邮件,并且不需要通知服务的消费者电子邮件的发送状态。我使用下面的代码作为测试创建了代码,它以我想要的方式工作,但我想确保没有我没有看到的潜在问题。我担心的是,如果此服务在短时间内被调用 1,000 次并且电子邮件发送速度有些慢(每次 1-3 秒),那么这会导致我的节点服务器性能下降吗?我不确定这些项目是如何在内部排队的,也不确定是否有限制。我假设过程。nextTick 本质上是对要执行的项目进行排队,但是在开始压倒节点的事件循环之前,项目的数量是否有限制?这是我的测试代码:
var sendUsingTemplate = function(template, mergeData) {
console.log('emailManager.sendUsingTemplate starting...');
console.log('template: ' + template);
console.log('mergeData: ' + mergeData);
process.nextTick(function(){
console.log('setting up async code in here...');
setTimeout(function() {
console.log('ok done with async!');
}, 10000);
});
};