咨询一下,非 springboot 项目,定时任务如何安全退出

2023 年 7 月 28 日
 QWE321ASD
我做了一个定时上报数据的小程序,但是有托盘可以退出,我想让退出时进行一半的定时任务先完成了再退出,有什么好办法吗
2514 次点击
所在节点    Java
8 条回复
nolog
2023 年 7 月 28 日
扩展 spring 的容器销毁声明周期的相关函数,或者捕获操作系统信号处理,或者扩展 JVM 销毁钩子函数
securityCoding
2023 年 7 月 28 日
关键字 graceful shutdown 搜一下就有
QWE321ASD
2023 年 7 月 28 日
@nolog
@securityCoding 关键我不是 springboot 项目啊
BQsummer
2023 年 7 月 28 日
jvm shutdown hook?
ikas
2023 年 7 月 29 日
你托盘的退出,调用的方法,不是自己写的?
securityCoding
2023 年 7 月 29 日
@securityCoding springboot 也不是 springboot 项目,点进去看下源码很难吗?
QWE321ASD
2023 年 7 月 31 日
@nolog
@BQsummer 周末试了一下 jvm hook 是正解
QWE321ASD
2023 年 7 月 31 日
@ikas 托盘退出时可以设置固定延时等待,但是不能保证任务完成后才关呀.
@securityCoding 问了 gpt4,graceful shutdown 不是依赖内置服务器自己的关闭能力吗,和我想达成的效果不一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/960593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX