Конфигурация универсального механизма выполнения
Конфигурация 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.
На данный момент в контексте выполнения можно настраивать только домен переводов и стратегию обработки ошибок.
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.