【发布时间】:2013-12-22 20:51:13
【问题描述】:
我正在使用 Java 进行数据获取自动化,哪种方法更适合任务自动化? Linux cronjob 还是 Java Timer?
例如每小时执行的任务,一周的第一天,一个月的第一天,提前致谢。
【问题讨论】:
-
这个问题以目前的形式无法回答。这取决于任务、环境、偏好和一堆其他参数。
标签: java linux timer automation cron
我正在使用 Java 进行数据获取自动化,哪种方法更适合任务自动化? Linux cronjob 还是 Java Timer?
例如每小时执行的任务,一周的第一天,一个月的第一天,提前致谢。
【问题讨论】:
标签: java linux timer automation cron
如果你因为其他原因需要应用一直在运行,并且数据获取频繁发生,你可以考虑使用java任务。
如果您只是为此目的编写一个应用程序,或者它是一个您不需要始终打开的应用程序,因为它不执行其他连续操作,我更喜欢 cronjob,这样您就可以将应用程序从大部分时间的记忆。
另外,请注意 cronjobs 非常有效,并且完全值得信赖。因此,如果数据频率很重要并且不仅仅与某些运行时功能相关,我也更喜欢 cronjob
这只是为了提及一些高级场景,但正如 Keppil 所说,它可能取决于许多其他方面。
【讨论】:
这可能取决于您想要什么,但我会说我创建自动化任务的时间我使用的是 cron 作业或 Windows 计划任务。正如 Carlos 所说,Java 程序必须运行才能执行这些操作。因此,如果它是一个生产应用程序并且它死了,那么在它再次恢复之前无法启动作业。此外,设置 cron 作业通常比编写程序更容易。
另一方面,如果它是一个您没有管理员权限并且无法创建或编辑 cron 作业但能够启动 Java 程序的系统,那么 Java 程序可能会更容易。
总体而言,cron 作业似乎是行业“最佳实践”(对于流行词感到抱歉),但同样,它可能取决于您的具体情况。
【讨论】: