【发布时间】:2023-01-20 05:14:57
【问题描述】:
我正在构建一个作业调度程序,但我陷入了两种方法之间。我有两种类型的工作,一种是安排在特定日期,另一种是每小时运行一次。对于特定的日期,我轮询存储作业的数据库表并将结果发布到特定工作人员处理它们的 rabbitmq 消息代理。这适用于更明确的任务,例如发送提醒通知或电子邮件。对于每小时的作业,我有一个基于 cron 表达式的作业在运行,并且直接在函数中有逻辑,所以它不会进入队列。通常,这些工作是清理我的数据库或根据前一天的活动设置某些值等。
我想知道构建它的最佳方法是什么。让所有这些较小的作业作为微服务按节奏运行并在队列中监听是否有意义?我应该将它们全部组合成一项服务吗?我是否应该将这两种类型的所有逻辑合并到一个大型工作应用程序中?
【问题讨论】:
标签: cron architecture rabbitmq nestjs microservices