Skip to content

丢弃

策略解释
丢弃你都没干完,我不干

触发阻塞的前提是:服务端应该触发某个任务,发现该任务没结束。结合前提,这里大体测试思路是:每分钟执行一次定时任务,而任务执行时间是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这个批次,状态会从运行中变为处理成功。执行时长也从空更新为最终的执行时长了。

测试总结

  • 丢弃策略会一直等待前一个任务做完后,才会创建新的批次去调用客户端运行任务
  • 在某种程度上解决了幂等性,但不是绝对的