play1 中执行一个耗时长的job操作,为了防止重复请求 job中 Cache.set(order.id, true) 执行代码 Cache.delete(order.id);
if (Cache.get(order.id)!=null) {
fail("执行中");
}
这样可行吗?服务器好像不行,本地测试可以
play1 中执行一个耗时长的job操作,为了防止重复请求 job中 Cache.set(order.id, true) 执行代码 Cache.delete(order.id);
if (Cache.get(order.id)!=null) {
fail("执行中");
}
这样可行吗?服务器好像不行,本地测试可以
4 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答741 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
可以采用异步的写法,如
CompletableFuture.runAsync()
, 然后声明一个volatile boolean
变量控制状态来标识是否任务在执行, 如: