如何在
Mongodb
中设置事件调度程序?
我将创建一个事件,每 4 小时计算一次集合中的字段 (SUM|COUNT),然后保存它。
实现这一目标的最佳解决方案是什么? 谢谢:)
从 3.2 版本开始,MongoDB 没有内置的 cronjob 系统(TTL 索引自动删除作业除外,但这些并不能帮助你解决这个问题)。
这意味着您必须使用外部工具来启动 mongo shell,并将您的查询作为其参数。有无数的工具可用于此目的。有些内置于所有常见操作系统中,开箱即用,有些则以第三方工具的形式存在。有太多的选择无法列出;哪一个最好取决于您的 IT 基础设施以及您的系统管理员的偏好。
尝试 MongoDB Cron 包。它是一个简单的 API,用于调度任务并在 MongoDB 集合上运行重复作业。任何集合都可以转换为作业队列或 crontab 列表。
尝试使用pulse!我是这个开源项目的创建者
定义和背景: Pulse 是 Node.js 生态系统中的一个开源作业调度工具,是已停产的 Agenda 项目的一个分支。
利用 MongoDB 管理作业数据,从而增强其大规模执行的能力。
Pulse 的独特功能 最新 MongoDB 驱动程序支持:Pulse 与最新 MongoDB 驱动程序完全兼容,确保用户可以利用最新的数据库功能和增强功能。
系统重新启动后恢复未完成的任务:当系统重新启动时,Pulse 恢复正在进行或排队等待执行的未完成任务,无需手动干预即可无缝继续。
重试失败的任务:Pulse 提供使用指数和固定回退策略的重试机制以及可配置的尝试,确保高效重试失败的任务,而不会使系统不堪重负。
持续维护:作为一个在生产服务中积极使用的开源项目,Pulse 得到持续维护和改进,为用户提供可靠的更新和支持。
广泛的文档:提供详细的指南和示例,以便快速轻松地开始。