【发布时间】:2021-05-31 19:10:27
【问题描述】:
问题:我有一个要删除的用户列表。不仅用户本人被删除,而且与他相关的大量数据也被删除。一些涉及删除用户信息的表包含数百万条记录。 所有内部进程在删除时都是异步启动的。如果删除一个用户时没有问题,并且后台所有进程都成功(即客户端不期望响应),那么如果您运行其中几个,这会占用所有服务器资源,这只要网站被移除,自然会对网站的工作产生负面影响。
for (let i = 0; i < users.length; i++) {
const user = users[i];
await this.removeInstance(user, removedBy);
}
this.removeInstance 包含许多其他异步操作。
我想要的:每隔 3 分钟启动一个异步操作 this.removeInstance。 数据删除的速度对我来说并不重要,但根据我的观察,1-2 分钟就足以“完全完成”一个用户。
注意: this.removeInstance 返回已删除的用户,但我不能使用它,因为已经有十几个进程在后台运行以清除他的信息。
感谢您的帮助!
【问题讨论】:
标签: node.js mongodb express async-await