gpt4 book ai didi

java - 如何使用 cron 知道某些事情是否运行

转载 作者:行者123 更新时间:2023-12-02 11:01:58 26 4
gpt4 key购买 nike

我正在使用 cron 调度程序(quartz),由于某些原因(服务器关闭...)有时任务不会触发。我不想检查任务是否运行。我的想法是基于 cron 来做到这一点:我获取之前的开火日期(例如:0 7 11 4 * ? = 在第四天上午 11:07:00,每个月我应该有 2018/07/04)并且我将它与最新任务的日期(在数据库中获取)进行比较:如果不同,那么我知道任务没有运行。

我的问题是获取之前的火灾日期。我在这里尝试了建议:Finding Last Fired time using a Cron Expression in Java as trigger.getPreviousFireTime();但仍然不起作用...获取下一次触发时间没有问题,但无法获取上一次触发时间(日期为空或错误)。

有什么想法吗?

最佳答案

我认为您正在寻找的是系统日志。根据您使用的 *nix,您可以运行:

grep cron (location)

并获取您想要的数据。从那里您可以随心所欲地处理它。

Ubuntu Cron Log Location Linky

我个人会使用这个SO问题来从Java获取此调用的输出:

Call a command from Java

最后一点,使用:

grep cron /var/log/syslog | tail -1

只会显示最后一行。在我的基于 Linux 的服务器上,该行如下所示:

Jul 10 12:17:01 ---------- junk removed -------------------

我会取出其中的前 15 个字符并解析它。

关于java - 如何使用 cron 知道某些事情是否运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51264643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com