Создание агента и запуск каждые 60 сек. в Битрикс24

Создание агента и запуск каждые 60 сек. в Битрикс24

04.10.2018 03:08:21 Просмотров 201 Источник

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

class CTimeManReport extends CAllTimeManReport
{

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


}

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

У вопроса есть решение - Посмотреть?

Ответы - Создание агента и запуск каждые 60 сек. в Битрикс24 / Creating Agent and Running every 60 sec. in bitrix24

Является ответом!
Jekys

04.10.2018 05:19:10

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

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

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

class CTimeManReport extends CAllTimeManReport
{

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

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

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

https://stackoverflow.com/questions/52646344/creating-agent-and-running-every-60-sec-in-bitrix24/52649042#comment92331150_52649042
спасибо за вашу помощь. Можете ли вы предоставить мне пример кода для PHP.ini согласно моему агенту
https://stackoverflow.com/questions/52646344/creating-agent-and-running-every-60-sec-in-bitrix24/52649042#comment92336064_52649042
Вам не нужно менять php.ini, вы должны изменить dbconn.php, создать cron_events.phpи добавьте этот скрипт в cron. Все указания здесь
https://stackoverflow.com/questions/52646344/creating-agent-and-running-every-60-sec-in-bitrix24/52649042#comment92353040_52649042
Извините, я имею в виду init.на PHP не PHP.Ини опечатка Мистек
https://stackoverflow.com/questions/52646344/creating-agent-and-running-every-60-sec-in-bitrix24/52649042#comment92368896_52649042
Итак, хорошо) init.phpпоможет вам включить дополнительные классы, функции и константы в Битрикс и использовать их везде в компонентах, классах, шаблонах и т. д. И вы можете добавить свой класс или функцию прямо в инит.php, или вы можете создать новый файл и requireего в init.РНР. Кроме того, вы можете создать папку и добавить autoloader ( spl_autoload_register) в init.php, это поможет вам включить все ваши классы из папки в Битрикс
Закрыть X