Как создать агента в своём модуле?

Здравствуйте. Я разрабатываю модуль и мне необходимо во время установки модуля создать агент. Для создания агента использую CAgent::AddAgent() в данный метод нужно передать класс и функцию, которую будут запускать агент. Где необходимо расположить их в структуре модуля?
  • Вопрос задан
  • 1344 просмотра
Решения вопроса 1
gromdron
@gromdron
Bitrix developer
А в чем собственно вопрос? Делайте как по документации

1) При установки модуля добавляем агент:
\CAgent::AddAgent( "\\Your\\Module\\SuperClass::superAgent();", "your.module", "N", 10 * 24 * 3600, "", "Y");

где
"\\Your\\Module\\SuperClass::superAgent();" - код php который должен выполняться (точка с запятой в конце строго!!!)
"your.module" - название вашего модуля
"N" - периодичность
10 * 24 * 3600 = периодичность запуска
'' - первая дата проверки (оставлять пустой)
"Y" - активность агента

2) При удалении - очищаем агенты
\CAgent::RemoveModuleAgents("your.module");
3) Если файлы располагаются по канонам d7 ( /your.module/lib/superclass.php ), то ничего больше делать не нужно, если старый - то нужно прописать в include.php автолоадер для вашего класса с агентом
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
alexfilus
@alexfilus
Fullstack разработчик
Не важно по сути. Проверьте только чтобы функция - агент была доступна при подключении модуля.
Ответ написан
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Где необходимо расположить их в структуре модуля?

Как минимум в include.php.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы