MongoDB 中的事件调度程序(cronjob)?

问题描述 投票:0回答:3

如何在

Mongodb
中设置事件调度程序?

我将创建一个事件,每 4 小时计算一次集合中的字段 (SUM|COUNT),然后保存它。

实现这一目标的最佳解决方案是什么? 谢谢:)

mongodb nosql
3个回答
4
投票

从 3.2 版本开始,MongoDB 没有内置的 cronjob 系统(TTL 索引自动删除作业除外,但这些并不能帮助你解决这个问题)。

这意味着您必须使用外部工具来启动 mongo shell,并将您的查询作为其参数。有无数的工具可用于此目的。有些内置于所有常见操作系统中,开箱即用,有些则以第三方工具的形式存在。有太多的选择无法列出;哪一个最好取决于您的 IT 基础设施以及您的系统管理员的偏好。


1
投票

尝试 MongoDB Cron 包。它是一个简单的 API,用于调度任务并在 MongoDB 集合上运行重复作业。任何集合都可以转换为作业队列或 crontab 列表。


0
投票

尝试使用pulse!我是这个开源项目的创建者

定义和背景: Pulse 是 Node.js 生态系统中的一个开源作业调度工具,是已停产的 Agenda 项目的一个分支。

利用 MongoDB 管理作业数据,从而增强其大规模执行的能力。

Pulse 的独特功能 最新 MongoDB 驱动程序支持:Pulse 与最新 MongoDB 驱动程序完全兼容,确保用户可以利用最新的数据库功能和增强功能。

系统重新启动后恢复未完成的任务:当系统重新启动时,Pulse 恢复正在进行或排队等待执行的未完成任务,无需手动干预即可无缝继续。

重试失败的任务:Pulse 提供使用指数和固定回退策略的重试机制以及可配置的尝试,确保高效重试失败的任务,而不会使系统不堪重负。

持续维护:作为一个在生产服务中积极使用的开源项目,Pulse 得到持续维护和改进,为用户提供可靠的更新和支持。

广泛的文档:提供详细的指南和示例,以便快速轻松地开始。

© www.soinside.com 2019 - 2024. All rights reserved.