Shopware 6 получить контекст в запланированной задаче

#shopware

Вопрос:

Я просто задавался вопросом, как получить контекст в запланированных задачах. Существует статический метод

 Context::createDefaultContext()
 

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

Ответ №1:

Я думаю, что нашел ответ в комментарии к проблеме на GitHub: https://github.com/shopware/platform/issues/1245#issuecomment-673537348

Единственный допустимый вариант использования для создания контекста по умолчанию-это когда вы находитесь в контексте CLI, то есть когда вы пишете свою собственную команду CLI (или запланированную задачу в этом отношении). Но вы должны полностью отдавать себе отчет в том, что в этом случае вам необходимо самостоятельно позаботиться, например, об обработке переводов и валюты.

Другим допустимым вариантом использования контекста по умолчанию является, конечно, использование в тестах, что и было первоначальным намерением этого метода. В документах этот метод используется для того, чтобы не раздувать примеры кода.

Таким образом, кажется, что это способ выполнить запланированные задачи, чтобы создать там контекст.

Комментарии:

1. Да, контекст по умолчанию-это способ выполнения запланированных задач или команд командной строки

2. Спасибо за подтверждение @j_elfering 🙂