точное время и указать интервал, в случае если какой-то запуск провалится (например сервер перезагрузили в момент когда он должен был запуститься) повторное время для запуска не назначится?
или даже не так, просто скажите существует ли условие когда назначенный регулярный агент может перестать выполняться? у меня стояло по расписанию. а сейчас я внезапно для себя обнаружил что он оказывается уже больше месяца не выполняется. по дате естественно я не вспомню что могло на него повлиять. но возможно пада mysql сервер в тот момент. это всё что я могу подумать.
Можно ли как-то этого избежать? крон в отличие от агентов таких минусов не имеет. даже если сорвать один запуск то в следующий раз он всё равно запустится. а тут такая подстава, запуск сорван и ещё нет никаких уведомления админу. как за этим следить?
посмотрите код, который их запускает. там будет условие, которое блочит выполнение агента.. может битрикс попытался раз 5 запустить его и выпилил в результате
function set1Ccodes(){ // Копирует код из реквизитов в свойство C_CODE $IBLOCK_ID = 2; $arSelect = Array("ID", "PROPERTY_С_CODE"); $arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "PROPERTY_C_CODE"=>false); $res = CIBlockElement::GetList(["ID"=>"ASC"], $arFilter, false, Array(), $arSelect); while($row = $res->Fetch()) { $row['PROPERTIES'] = []; $result[$row['ID']] =& $row; unset($row); } if (!empty($result)) { $arPropFilter = array( 'CODE' => 'CML2_TRAITS', ); CIBlockElement::GetPropertyValuesArray($result, $arFilter['IBLOCK_ID'], $arFilter, $arPropFilter); foreach ($result as $key => $arItem) { if (!empty($arItem['PROPERTIES']['CML2_TRAITS']['DESCRIPTION'][0])) { foreach ($arItem['PROPERTIES']['CML2_TRAITS']['DESCRIPTION'] as $number => $name) { switch ($name){ case 'Код': CIBlockElement::SetPropertyValuesEx($arItem["ID"], $IBLOCK_ID, array("C_CODE" => $arItem['PROPERTIES']['CML2_TRAITS']['VALUE'][$number])); break; } } } } } return "set1Ccodes()"; }
нужно смотреть код в ядре, который запускает агенты
написать обработчик :) и дернуть retry count в базе
зачем тогда агенты если пользоваться обработчиками?
у меня агент на проверку агентов :) все-таки
это встроенная защита от дурака... если агент упадет 3 раза то битрикс больше его не запустит и в админке активировать ты его не сможешь (если только через таблицы базы поменяв retry_count)
да не в этом дело. изменив время запуска я его запустил. меня интересует вообще почему он мог упасть и почему нет оповещений для этого. я его создал и забыл. и месяц не знал что у меня сломана запись кода в свойство. в итоге 2к новых товаров не ищутся по коду в поиске. а я и не в курсе.
почему нет оповещений без понятия но странно что он у тебя не деактивировался
Обсуждают сегодня