我在 Node.js 中构建了一个非常稳定的机器人应用程序,它基本上可以不断地向 API 发送请求。为了确保万无一失,我会处理任何可能的错误,并为可能需要很长时间才能解决的承诺设置超时......
现在,我想通过删除我的安全网来改进应用程序,并监视异步操作以找到任何类型的“异步泄漏”,例如永远挂起的承诺或我不知道的任何奇怪的结果(这就是我的问题的重点)。
是否有任何工具可以监控 Node.js 异步流程?例如,在给定时间获取流程中未决承诺的总数?或者,如果任何承诺已等待超过给定的时间,并跟踪该承诺,则会收到警告?
如果这可以指导答案,这里是我使用的模块:
// Bluebird (promises)
var Promise = require("bluebird");
// Mongoose with promises
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
// Rate limiter with promises
var Bottleneck = require("bottleneck");
// Promisified requests
var request = require('request-promise');Run Code Online (Sandbox Code Playgroud)
很抱歉无法准确地表达我的问题:我不知道我可以期待/希望什么......
编辑:到目前为止,我的研究使我:
由于我仍在开发应用程序并且除了应用程序之外还有其他生活,因此我没有太多时间研究它,但我肯定会在某个时候认真地解决这个问题!