我在Windows机器上有一个.bat文件,它通过调用Java可执行文件的主类(.Jar)启动我们的程序
现在我需要每隔30分钟运行一次。
我经历过几种方式,但无法确定哪种方式更好。
通过Windows计划程序或使用Java计时器进行计划。哪一个选择? 我只想运行一个进程实例。如果前一个过程在30分钟内没有完成,我可以等。
请根据我的使用案例告诉我该怎么做。
提前致谢。
答案 0 :(得分:0)
最好使用Windows Scheduler。如果进程花费的时间过长,则可以创建文件,或者在进程运行时打开套接字,当另一个尝试启动时,它可以检测到并简单地退出。这将使它“错过”30米的窗口(即如果第一个作业从12开始并在12:35结束,则下一个作业直到1才开始。)
但是这样你就不必担心设置长时间运行的进程,启动和停止java服务等等.Windows调度程序只是让这一切变得更容易。
答案 1 :(得分:0)
TimerTask 不是一个调度系统,它是一个为应用内调度提供工具的库。似乎对于您的用例,您需要一个系统:无论您的应用程序是否正在运行,您都需要运行它,您需要报告等.Windows Scheduler(或unix / linux上的 cron )是更适合您的需求。