Создание агента и запуск каждые 60 сек.в битрикс24 - PullRequest
0 голосов
/ 04 октября 2018

Я добавил одну функцию в timeman mosule следующим образом.

class CTimeManReport extends CAllTimeManReport
{

   function testAgent()
   {
    mail('t@demo.co.in','agent','agent');
    return "testAgent();";
   }


}

Теперь я хочу запускать эту функцию каждые 60 секунд. Я добавил агента через панель управления в разделе агентов, но она запускается только один раз.,

1 Ответ

0 голосов
/ 04 октября 2018

После запуска агента Битрикс добавляет в базу данных значение, которое возвращает функция агента.Так что в вашем случае это должно быть return "CTimeManReport::testAgent();", потому что ваша функция является методом класса.

Кроме того, это должен быть метод класса, а не метод экземпляра, поэтому добавьте public static перед вашей функцией

Итак, попробуйте сделать что-то подобное:

class CTimeManReport extends CAllTimeManReport
{

   public static function testAgent()
   {
    mail('t@demo.co.in','agent','agent');
    return "CTimeManReport::testAgent();";
   }
}

Если этот совет не помогает, вы можете добавить поддержку cron для своих агентов, потому что по умолчанию они работают при перезагрузке страниц.Следуйте этой ссылке для получения инструкций

PS не добавляйте свой собственный код в код модуля битрикс.Потому что вы можете потерять свой код после обновления битрикс.Добавьте свой собственный код или включите ваши классы в local/php_interface/init.php

...