Кварц: несколько вакансий, которые разделяют ресурс - PullRequest
0 голосов
/ 02 апреля 2020

У меня несколько заданий, и все они используют один и тот же ресурс. Этот ресурс представляет собой некоторый ad-ho c сценарий сборки, поэтому его нельзя запускать одновременно.

Можно ли определить в Quartz, что некоторые задания не могут выполняться одновременно?

Итак, если одно из заданий уже запущено, порожденное задание ставится в очередь.

1 Ответ

3 голосов
/ 10 апреля 2020

Я столкнулся с подобным сценарием в моем приложении, попробуйте следующий подход и посмотрите, работает ли он для вас.

Поместите код, который запускает ваш скрипт ad-ho c build в синхронизированный блок. При этом только один поток будет запускать ваш скрипт ad-ho c одновременно, даже если несколько потоков пытаются запустить один и тот же ресурс.

При этом вы можете увеличить количество потоков до подходящего значения. а вместо того, чтобы установить его на 1, как показано ниже. spring.quartz.properties.org.quartz.threadPool.threadCount=5

Если вы хотите запустить несколько экземпляров кварцевого планировщика на разных машинах, совместно использующих одну базу данных, вам следует рассмотреть Настройка кластеризации с JDB C -JobStore . Пожалуйста, обратитесь по этой ссылке для получения дополнительной информации http://www.quartz-scheduler.org/documentation/quartz-2.2.2/configuration/ConfigJDBCJobStoreClustering.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...