サーバー上で node.js コードを実行していますが、それがブロックされているかどうかを知りたいです。これは次のようなものです。
function addUserIfNoneExists(name, callback) {
userAccounts.findOne({name:name}, function(err, obj) {
if (obj) {
callback('user exists');
} else {
// Add the user 'name' to DB and run the callback when done.
// This is non-blocking to here.
user = addUser(name, callback)
// Do something heavy, doesn't matter when this completes.
// Is this part blocking?
doSomeHeavyWork(user);
}
});
};
完了するとaddUser
、doSomeHeavyWork
関数が実行され、最終的に何かがデータベースに戻されます。この関数にかかる時間は問題ではありませんが、サーバー上の他のイベントをブロックするべきではありません。
それで、node.jsコードがブロックされるかどうかをテストすることは可能ですか?