我们的团队目前正在开发一个 Java 应用程序,该应用程序将有许多持续运行的处理线程(执行诸如从队列轮询等操作)。
与此应用程序相关的是一系列必须在某些预定时间段运行的任务(每天一次、每六个小时一次等)。我们团队的一些成员认为最好通过 cron 将这些任务作为独立进程执行,而其他人则认为最好将它们包含在通过 Java 的 ScheduledExecutorService 调度的当前应用程序中。关于何时使用 cron 与内部 ScheduledExecutorService 是否存在最佳实践,或者这只是一个偏好问题?
最佳答案
使用 ScheduledExecutorService
的优点是您正在使用 100% java,因此如果您出于某种原因想要升级您的服务器/更改您的机器,那么您不需要重新配置 cron 作业。此外,ScheduleExceutorService 还允许您使用 Callable,因此您可以返回一些结果并在 java 中处理它们。
关于java - 何时使用 Cron Job 与 ScheduledExecutorService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25938556/