Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

По следам не вымышленных агентов 8)

00 голосов
2
Здравствуйте.
Подскажите пожалуйста, в чем может быть причина отказа агента выполнять функцию?
Я создал функцию, обрабатывающую элементы ИБ и отсылающую уведомления пользователям.
При вызове функции со страницы, она отрабатывает как надо, однако повесить ее на агент не получается.
Прописываю путь к файлу с функцией в /bitrix/php_interface/init.php. В агенте ставлю вызов, ставлю галочку периодическая. По прошествии заданного агенту времени функция не отрабатывает и удаляется из списка задач. Так же не знаю, где посмотреть логи агентов, чтобы ошибку возможную найти.
спросил 20 Авг, 13 от MuLaLLlka (200 баллов)

2 Ответы

00 голосов
При запуске агента выдается следующай ошибка:
Внимание! Обнаружены лишние символы в служебном файле: \bitrix\modules\main\classes\mysql\agent.php(126) : eval()'d code, строка 1.
Кто может объяснить, в чем может быть проблема?

Пытаюсь вызвать с помощью агента самую простую функцию, добавление разделов в ИБ.
Код
function AddNewSectionsIB(){      
   if(!CModule::IncludeModule("iblock")) return;
   $IBLOCK_ID = 1;
   $IBLOCK_SECTION_ID = "NULL";
   $arNAME = array("Section 1", "Section 2", "Section 3");
   $SORT = 0;
   foreach($arNAME as $NAME){
      $bs = new CIBlockSection;
      $SORT+=100;
      $arFields = Array(
         "IBLOCK_ID" => $IBLOCK_ID,
         "ACTIVE" => "Y",
         "IBLOCK_SECTION_ID" => $IBLOCK_SECTION_ID,
         "NAME" => $NAME,
         "SORT" => $SORT
      );
      {
        $ID = $bs->Add($arFields);
      }
   }
}
ответил 20 Авг, 13 от MuLaLLlka (200 баллов)
00 голосов
Ну для начала, она не возвращает название себя же на следующий вызов. Потому она и пропадает.

Читать

Во вторых, проверьте правильность заполнения формы нового агента..
Имя функции с точкойзапятой в конце.
Периодический значит, что если первый хит был на 1 секунде, а второй был на 5й секунде, а интервал стоит 1 секунда, то функция выполнится 4 раза подряд. В вашем случае, она навернётся ибо ничего не возвращает
ответил 30 Окт, 13 от Tei (480 баллов)

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

0 голосов
5 ответов
спросил 22 Ноя, 13 от Aqwez (100 баллов)
0 голосов
5 ответов
0 голосов
3 ответов
спросил 16 Март, 14 от Izy (100 баллов)
0 голосов
0 ответов
0 голосов
1 ответ