
1 opengps 2023-10-12 19:06:55 +08:00 参考分布式锁的超时设计: 额外用一个消息队列或者第三方公共缓存服务,标记下某个任务进入正在处理状态,设定上一个安全合理的正常处理超时,真超时可能是丢失了,重新处理一遍就行 |
2 night98 2023-10-12 23:29:58 +08:00 上 mq ,不然自己实现更麻烦。或者加个类似 sqllite 的本地数据库。 |
3 lsk569937453 2023-10-13 09:09:01 +08:00 所以有了 mq 啊 |
4 bill110100 2023-10-13 10:37:38 +08:00 mq 记录任务,确定消费成功再从 mq 里去除。 |
5 NoKey OP 如果用 mq 的话,那么一个后台服务很多场景都会用到 mq 了,会不会很重啊 |
6 Aresxue 2023-10-13 11:41:44 +08:00 mq or 定时任务 |
7 mmdsun 2023-10-13 11:58:24 +08:00 任务调度框架? Spring Batch 、xxl-job 、PowerJob |
8 hdfg159 2023-10-13 14:13:41 +08:00 消息队列 |
9 j1132888093 2023-10-13 17:37:55 +08:00 建个通用的任务表,处理完了标识一下 |
10 trzzzz 2023-10-13 22:57:31 +08:00 不想引入 mq ,就得找个地方存起来,存数据库,执行完更新下状态 |
11 heqingpan 2023-10-14 12:25:46 +08:00 via Android 一定要找个地方存起来才行,不然重启在内存的数据就没了。 可以用 mq 也可以用通用任务表(用完标记删除或物理删除都可以),特定场地存本地文件也可以。 |
12 40xEQBKvMvxaRO8y 2024-03-11 14:49:47 +08:00 一个简单的处理办法,重启的时候指定所谓的优雅停止,也就是说不要 kill -9 ,kill -2 + sleep 10 秒,来让应用处理正在执行的任务同时停止外部新请求的进入,然后再加上单独的定时任务服务或者建个任务表定时扫描的形式 |