Перейти к основному содержимому

Конфигурация универсального механизма выполнения

Конфигурация Generic Execution Engine осуществляется через конфигурационные файлы Symfony. Стандартная конфигурация выглядит следующим образом:

pimcore_generic_execution_engine:  
error_handling: 'continue_on_error'
execution_context:
default:
translations_domain: admin

Определение стратегии обработки ошибок

На данный момент доступно две стратегии обработки ошибок:

  • continue_on_error: выполнение задания продолжается, даже если выполнение одного из шагов завершилось неудачей.
  • stop_on_first_error: выполнение задания немедленно прекращается, если какой-либо шаг завершился ошибкой.

Вы можете определить глобальную стратегию обработки ошибок (используемую для всех запусков заданий в качестве резервной) в файле конфигурации:

pimcore_generic_execution_engine:  
error_handling: 'stop_on_first_error'

Определение контекста выполнения

Иногда требуется настроить домен переводов или изменить стратегию обработки ошибок в зависимости от конкретного бандла или специфики запуска задания.

Для этого можно определить собственный контекст выполнения:

pimcore_generic_execution_engine:  
execution_context:
my_custom_context:
translations_domain: my_custom_domain
error_handling: 'continue_on_error'

Затем вы можете передать имя созданного контекста при запуске нового задания:

  
$jobExecutionAgent->startJobExecution($job, $owner, 'my_custom_context');


На основании выбранного контекста для выполнения задания будут установлены соответствующий домен переводов и стратегия обработки ошибок. По умолчанию используется домен переводов admin. Для обработки ошибок, если контекст не переопределен, в качестве резервного варианта (fallback) используется глобальная стратегия, которая по умолчанию настроена как continue_on_error. На данный момент в контексте выполнения можно настраивать только домен переводов и стратегию обработки ошибок.


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.