@djacode

Как быть если мне нужен объект Bitrix\Main\Application::getInstance()->getContext()->getRequest() в моем агенте?

Дело в том что есть готовая библиотека, по причине долгого выполнения было решено перенести все на агенты(крон). В библиотеке используются объекты Bitrix\Main\Application::getInstance()->getContext()->getRequest() ясно дело передав сериализованный объект в функцию агента, такие вещи как $request->get, $request->addFilter в функции агента уже не заработают, а в функции они повсеместно. Подскажите как быть?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
Нужно переделать функцию так, чтобы она принимала аргументы, а не брала значения из контекста запроса.
Аргументы можно передавать явно при создани агента, а можно писать данные куда-то (в файл или БД) и передавать в функцию-агент только идентификатор записи, по которому она может получить всё нужное.

Пытаться инициализировать полноценный Request внутри агента не стоит - это сложно и чревато багами (особенно, если сами агенты исполняются на хитах).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы