执行异步任务的时候 有循环操作的,如果要停止这个循环任务,可以在每次循环的时候加个判断去读取redis存的唯一值 如果变动了就结束循环
添加任务前给这个任务存一个唯一标识到redis redis用hash类型
//todo 添加任务的时候给任务一个唯一标识存入redis hash类型 然后每次死循环前去redis查询这个值 如果这个值改动了 就停止任务
JedisUtil.hset("taskStop",taskId.toString(),"1");
执行任务端在每次循环内查询redis的值
boolean flag = true;
while (flag) {//死循环遍历数组 直到redis的任务数据全部取完
//添加任务的时候给任务一个唯一标识存入redis hash类型 然后每次死循环前去redis查询这个值 如果这个值改动了 就停止任务
//专门写一个接口来控制这个存在redis里的任务标识
String taskStop = JedisUtil.hget("taskStop", String.valueOf(taskId));
if(!StrUtil.equals("1",taskStop)){//如果redis的标识不等于2后停止while循环
LogUtils.info("====停止 "+taskId+" 任务====");
flag = false;
}
}