我正在使用 spring 的调度,我希望有单独的调度程序,一个用于短期运行的任务,另一个用于长时间运行的任务。
造成这种情况的主要原因:
- 在这种情况下,短期运行的任务比长期运行的任务更重要(短期运行的任务必须每分钟执行一次,长时间运行的任务每小时运行一次)
- 如果我配置了单线程模式,长时间运行的任务会阻塞短时间运行的任务。
- 如果我错误地配置了线程池大小,那么长时间运行的任务可能会阻塞短期运行的任务。
像这样将任务拆分为单独的调度程序有什么问题,或者约定总是在应用程序中使用单个调度程序并增加池大小?
我不知道有任何调度/任务拆分模式,所以那里的任何帮助都会很棒。我希望这个问题忽略这个问题的潜在替代框架(比如春季批次)。我对设计选择以及为什么它可能不正确更感兴趣。