类似订单支付后,7天自动收货,10天自动评价,这种需求用elastic-job怎么实现呢?
用延时消息, 只触发任务一次, 不需要扫表
Quartz Enterprise Job Scheduler
Quartz在官网上标题是企业级作业调度器,所以只要与调度相关的业务,它都能处理。
问题是你的实现业务要求有多复杂:
1. 架构全局上,只有一个调度器总管;
2. 有多个调度器总管,每个调度器分管不同业务,比如收货定时任务,评价定时任务;
3. 多个物理服务器上,都有不同的调度器总管;不同的定时任务需要分派到不同物理主机上;
涉及分布需求时,可以考虑在分布式系统上,进行集中管理。
用job的方式就是定时扫描,超过7天的修改收货状态,超过10天的修改自动评价状态。
另一种方式就是采用中间件的延迟消息,可以将投递的消息延迟执行。activemq就有这样的功能。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
用延时消息, 只触发任务一次, 不需要扫表
Quartz Enterprise Job Scheduler
Quartz在官网上标题是企业级作业调度器,所以只要与调度相关的业务,它都能处理。
问题是你的实现业务要求有多复杂:
1. 架构全局上,只有一个调度器总管;
2. 有多个调度器总管,每个调度器分管不同业务,比如收货定时任务,评价定时任务;
3. 多个物理服务器上,都有不同的调度器总管;不同的定时任务需要分派到不同物理主机上;
涉及分布需求时,可以考虑在分布式系统上,进行集中管理。
用job的方式就是定时扫描,超过7天的修改收货状态,超过10天的修改自动评价状态。
另一种方式就是采用中间件的延迟消息,可以将投递的消息延迟执行。activemq就有这样的功能。