Рандомизация заданий cron в док-контейнерах - PullRequest
0 голосов
/ 03 мая 2018

Я установил Java-приложение для Springboot и работает в среде разработки и тестирования.

Приложение имеет расписание задания cron, определенное в application.yml. Задание cron извлекает данные из источника ESB и обновляет свою базу данных каждые 10 минут.

Теперь в среде разработчиков у нас не было проблем, поскольку у нас был только один контейнер.
В тестовой среде, поскольку у нас есть несколько контейнеров, все они пытаются выполнить задачу в одно и то же время, и наблюдаются сообщения о блокировке БД. Это также влияет на производительность приложения. Cron выражение ниже

services:
  esb:
    applicationId: App-Dash
    schedule:
      job:
        esbprocessing: 0 */5 * * * *
        max_records: ${MAX_RECORDS:20}

Я подумал о следующих возможных решениях. а) Различные настройки Cron для разных контейнеров. б) Отключение Cron для некоторых контейнеров.

Но Так как одни и те же образы докеров создаются и распределяются между разными хостами, как можно редактировать файл конфигурации внутри файла jar.

Есть ли другой способ сделать это.

...