丢弃
策略 | 解释 |
---|---|
丢弃 | 你都没干完,我不干 |
触发阻塞的前提是:服务端应该触发某个任务,发现该任务没结束。结合前提,这里大体测试思路是:每分钟执行一次定时任务,而任务执行时间是5分钟。这样就会触发阻塞策略了。
客户端代码
java
@Component
public class TestDiscardJob extends AbstractJobExecutor {
@Override
protected ExecuteResult doJobExecute(JobArgs jobArgs) {
// 休眠5分钟
ThreadUtil.sleep(5, TimeUnit.MINUTES);
return ExecuteResult.success();
}
}
页面配置
配置项 | 配置内容 |
---|---|
任务名称 | 测试阻塞策略-丢弃 |
执行器名称 | com.test.TestDiscardJob |
阻塞策略 | 丢弃 |
触发类型 | 固定时间 |
间隔时长 | 60秒 |
超时时间 | 600秒 |
测试结果
1527这个批次,状态会从
运行中
变为处理成功
。执行时长也从空更新为最终的执行时长了。
测试总结
- 丢弃策略会一直等待前一个任务做完后,才会创建新的批次去调用客户端运行任务
- 在某种程度上解决了幂等性,但不是绝对的