【发布时间】:2017-06-16 08:48:06
【问题描述】:
这是我的目标:
最后一次文档更新5分钟后,我要执行一次性任务
所以这就是动作流的样子:
- 用户更新文档 - 计时器已启动并从 5 分钟开始倒计时
- 如果用户再次更新同一个文档并且之前的计时器(由 document._id 标识)仍在运行,则将该计时器重置为 5 分钟并重复倒计时
- 当计时器到时 - 执行一次任务
我以前没有做过这样的事情,我不知道从哪里开始。
我可以使用 Mongoose 中可用的方法轻松挂钩文档更改(即在保存时,执行 func 以设置或重置计时器)
但是,我想不出办法:
- 创建一个等待 5 分钟的计时器 - 然后执行一个任务
- 使计时器可访问,以便我可以重置计时器
- 使计时器可访问,以便我可以添加额外的变量,这些变量将在计时器结束时在函数中使用
我调查了 Cron 作业,但它们似乎是每天在同一时间安排的任务。
我需要一个可以延迟任务的计时器,还需要能够重置该计时器,并向计时器添加额外数据。
任何提示表示赞赏。
【问题讨论】: