gpt4 book ai didi

java - Java 批处理程序的 crontab 的好替代品?

转载 作者:搜寻专家 更新时间:2023-10-31 20:30:35 25 4
gpt4 key购买 nike

我一直在为我公司当前的批处理系统(java SE + crontab)寻找替代品,因为有很多 java 代码/shell 脚本重复,大多数工作都是 ETL 并且做非常相似的步骤,而且我想提供平台独立性而不是依赖 crontab,更具体地说明我们的工作角色,当前的工作创建步骤是这样的:

  1. 开发满足业务需求的 java 程序。
  2. 在类似于生产环境的环境中对其进行测试,直到它满足业务需求。
  3. 使用提供文件维护、java 程序执行和错误处理例程的 shell 脚本将其传递到生产服务器(避免运行 2 个同名进程,在程序错误的情况下向支持人员和开发人员发送邮件日志,检查输出文件如果与接口(interface)相关,则在 java 程序结束后存在),并指定重复数据(该程序运行的频率)。

许多相同的逻辑被设计和开发成一个系统,该系统包含这些程序或“接口(interface)”(他们在那里这样调用它)独立执行的通用例程(通常使用复制粘贴代码,因为大多数例程都是相似的) ,但我仍然缺少一个非常重要的部分,我需要帮助,这涉及我使用的调度程序实现,我需要它来满足这两个需求之一:

-我想保证每当我停止调度服务器进行系统更新(由于添加新作业等)或任何其他原因时,那些由于系统停机而无法运行的作业(示例是 3由于系统停机而无法在下午 3:00 运行的作业),在服务器恢复后开始运行,即使它们各自的调度时间已经过去。

或者如果第一件事不可能那么:

-我需要一种方法来使用新作业更新调度程序,并在不重新启动调度程序的情况下更新提供这些作业的 jar(有点像 OSGi)。

这些条件中的任何一个都会满足我的要求,并且会结束我对替代品的搜索,我已经研究了 Quartz,Oddjob(生产中有一个调度程序使用这个调度程序,但每次添加新作业时都需要重新启动/库,不能满足我的需求)和使用应用程序服务器的 OSGi,但我正在寻找更好的建议,如果您也知道更好的选择,他们也非常感谢。

最佳答案

您可能还想看看 http://jcrontab.sourceforge.net/

Jcrontab 是一个用 Java 编写的调度程序。项目目标是为 Java 项目提供功能齐全的时间表。

关于java - Java 批处理程序的 crontab 的好替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6642753/

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