节点调度的 Node.js 内存使用情况"/>
带有回调函数和节点调度的 Node.js 内存使用情况
所以我创建了一些代码,当
event
(扩展的node-schedule
)传递给this.scheduler.schedule()
时,min
和max
之间的随机持续时间(以秒为单位)将添加到当前日期当当前日期等于随机日期时,handler
将被调用。
start(lock){
const event = new RandomScheduledEvent({
extension: this.extension.slug,
lock: lock.lock.id,
slug: "random-event",
min: 2,
max: 2,
handler: () => { this.eventCycle(lock) }
});
this.scheduler.schedule(event)
}
/**
*
* @param {RandomEventLock} oldLock
*/
async eventCycle(oldLock){
const updatedLock = await this.getLock(oldLock.lock.id, oldLock.tokenManager);
if(updatedLock.isTrusted() == true){
this.scheduler.deschedule(this.scheduler.findOne({lock: oldLock.lock.id, slug: "random-event"}))
console.log(this.scheduler);
}
return;
}
我担心的是这些随机事件会占用多少内存,我不确定 JavaScript 如何处理这些类型的调用。我估计在任何给定时刻都会发生大约 100 个这样的计划,并且我托管的服务器对内存消耗非常严格。
oldLock
(eventCycle
的参数)存储了一个相当大的对象,我不知道这个对象是否会保留在内存中,直到出现新的计划。理想情况下,该对象将仅用于 get
最新信息并在 eventCycle
完成后丢弃,实际上仅存储 node-schedule
this.getLock()
正在从 API 检索信息并将该数据附加到存储我的数据的对象,用于处理我需要的任何操作,例如事件发生的频率,是否启用了锁等
回答如下:
更多推荐
带有回调函数和节点调度的 Node.js 内存使用情况
发布评论