Quartz:共享资源的多个作业

Quartz: Multiple Jobs that share a resource

我有多个作业,它们都共享相同的资源。此资源是一些临时构建脚本,因此不能同时 运行。

是否可以在 Quartz 中定义某些作业不能 运行 并发?

因此,如果其中一个作业已经 运行ning,则生成的作业会排队。

我在我的应用程序中遇到过类似的情况,试试下面的方法,看看它是否适合你。

将 运行 临时构建脚本的代码放在 synchronized 块中。 有了这个,一次只有一个线程 运行 您的临时脚本,即使多个线程正在尝试 运行 相同的资源。

这样,您也可以将线程数增加到合适的值,而不是将其设置为 1,如下所示。 spring.quartz.properties.org.quartz.threadPool.threadCount=5

如果你想运行不同机器上的多个石英调度器实例共享一个数据库,那么你应该考虑使用JDBC-JobStore配置集群.请参阅此 link 了解更多信息 http://www.quartz-scheduler.org/documentation/quartz-2.2.2/configuration/ConfigJDBCJobStoreClustering.html