我正在使用Java进行数据获取自动化,哪种方法更适合任务自动化? Linux cronjob还是Java Timer?
例如每小时执行的任务,一周的第一天,一个月的第一天,提前感谢。
答案 0 :(得分:1)
如果由于某些其他原因需要应用程序始终运行,并且经常发生数据提取,则可以考虑使用java任务。
如果您只是为此目的编写一个应用程序,或者它是一个应用程序,您不需要始终打开,因为它没有执行其他连续操作,我更喜欢一个cronjob,所以你可以让应用程序记忆最多的时间。
此外,通知cronjobs非常有效,而且完全可信。因此,如果数据的频率很重要并且不仅仅与某些运行时功能相关,那么我也更喜欢cronjob
这仅仅是为了提及一些高级场景,但正如Keppil所说,它可能取决于许多其他方面。
答案 1 :(得分:1)
这可能取决于你想要什么,但我会说我创建自动化任务的时间我使用过cron作业或Windows预定任务。正如Carlos所说,Java程序必须运行才能执行操作。因此,如果它是一个生产应用程序而且它已经死亡,那么这些工作就不会被启动,直到它再次被重新启动。此外,设置cron作业通常比编写程序更容易。
另一方面,如果它是一个你没有管理员权限并且无法创建或编辑cron作业但能够启动Java程序的系统,那么Java程序可能会更容易。
总的来说,cron工作似乎是行业“最佳实践”(对于热门词汇感到抱歉),但同样,这可能取决于您的具体情况。