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("执行中");
}
这样可行吗?服务器好像不行,本地测试可以
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
可以采用异步的写法,如
CompletableFuture.runAsync()
, 然后声明一个volatile boolean
变量控制状态来标识是否任务在执行, 如: