Всем привет! тоже столкнулся с такой проблемой - создал функцию-агент (testAgent()) в /local/php_interface/init.php
Во содержимое init.php:
[CODE]<?
use Bitrix\Main\EventManager;
use Bitrix\Main\Loader;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler('main', 'OnBeforeProlog', 'setUserLastActivityDate');
/**
* @return void
* @global $USER
*/
function setUserLastActivityDate()
{
if (!Loader::includeModule('socialnetwork')) {
return;
}
global $USER;
if ($USER->IsAuthorized()) {
CUser::SetLastActivityDate($USER->GetID());
}
}
function testAgent()
{
dbgLog('test agent function','_testAgent');
return "testAgent();";
}
if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/include/functions.php")) {
//require_once($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/include/functions.php");
}
if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/autoloader.php")) {
//require_once($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/autoloader.php");
}
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/local/php_interface/events.php')) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/local/php_interface/events.php';
}[/CODE]
функция должна создавать log-файл с произвольным содержимым.
Сделал всё, как тут выше рекомендовали:
залогировал массив $agents_array в файле bitrix/modules/main/classes/mysql/agent.php - моей функции там не оказалось
В таблице b_agent поле DATE_CHECK было пустым
В файле /bitrix/php_interface/dbconn.php установка константы[CODE]define('BX_CRONTAB_SUPPORT', true);[/CODE]была закомментирована
В таблице b_option удалил все записи, где в поле NAME указано agents_use_crontab и check_agents
Но всё равно агент не запускается. Помогите пожалуйста. Что я делаю не так??
Скриншоты со списком агентов и скриншот таблицы b_agent прикрепил.
Во содержимое init.php:
[CODE]<?
use Bitrix\Main\EventManager;
use Bitrix\Main\Loader;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler('main', 'OnBeforeProlog', 'setUserLastActivityDate');
/**
* @return void
* @global $USER
*/
function setUserLastActivityDate()
{
if (!Loader::includeModule('socialnetwork')) {
return;
}
global $USER;
if ($USER->IsAuthorized()) {
CUser::SetLastActivityDate($USER->GetID());
}
}
function testAgent()
{
dbgLog('test agent function','_testAgent');
return "testAgent();";
}
if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/include/functions.php")) {
//require_once($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/include/functions.php");
}
if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/autoloader.php")) {
//require_once($_SERVER["DOCUMENT_ROOT"] . "/local/php_interface/autoloader.php");
}
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/local/php_interface/events.php')) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/local/php_interface/events.php';
}[/CODE]
функция должна создавать log-файл с произвольным содержимым.
Сделал всё, как тут выше рекомендовали:
залогировал массив $agents_array в файле bitrix/modules/main/classes/mysql/agent.php - моей функции там не оказалось
В таблице b_agent поле DATE_CHECK было пустым
В файле /bitrix/php_interface/dbconn.php установка константы[CODE]define('BX_CRONTAB_SUPPORT', true);[/CODE]была закомментирована
В таблице b_option удалил все записи, где в поле NAME указано agents_use_crontab и check_agents
Но всё равно агент не запускается. Помогите пожалуйста. Что я делаю не так??
Скриншоты со списком агентов и скриншот таблицы b_agent прикрепил.