Как настроить количество параллельных выполнений заданий

Похоже, что количество параллельных выполнений заданий ограничено. Мое наблюдение состоит в том, что среда выполнения Spring XD (режим с одним узлом) выполняет не более 10 заданий одновременно.

Я создал 15 заданий (ожидание1, ожидание2,...), которые просто ждали минуту и ​​выполняли их сразу друг за другом (запуск задания ожидание1, запуск задания ожидание2,...).

У меня есть много заданий, которые блокируются, потому что они ждут ответа от других серверов, поэтому я хотел бы увеличить количество выполняемых заданий. Ничего не нашел в документации и ничего не нашел в server.yml


person Peter Rietzler    schedule 18.05.2015    source источник


Ответы (1)


При работе в одноузловом режиме с локальным транспортом пакетные задания выполняются в Spring Integration TaskScheduler, который по умолчанию использует 10 потоков на документацию.

Чтобы переопределить эту конфигурацию, нам нужно добавить свойство в server.yml; откройте задачу JIRA.

Чтобы переопределить это, необходимо добавить компонент taskScheduler в приложение глобальный контекст.

В то же время, если вы используете другой транспорт (redis или rabbit), у вас не будет этого ограничения.

ИЗМЕНИТЬ:

Чтобы увеличить количество потоков для планировщика:

  • создать подкаталог META-INF в xd/config
  • создайте файл spring.integration.properties в этом каталоге (xd/config/META-INF)
  • добавить свойство: spring.integraton.taskScheduler.poolSize=30
  • перезапустить xd-singlenode

(где 30 немного больше, чем количество одновременных пакетных заданий, которые вы хотите запустить).

person Gary Russell    schedule 18.05.2015