Написать агента достаточно просто, но без конкретных данных рассматривать вашу ситуацию довольно сложно.
Я могу порекомендовать общие подходы для более глубокого изучения проблемы.
1) Дописываем разработанный механизм логгирование.
Принимая во внимание, что windows-путь и linux-путь это 2 разных способа написания путей, то путь к этому файлу лучше определить относительно $_SERVER['DOCUMENT_ROOT'] и с использованием функции realpath
Парсер должен логгировать:
- Время вызова
- Путь до файла (откуда он собирается читать)
- Наличие файла (есть ли этот файл вообще)
- Корректность файла (правильное ли расширение, все ли столбцы есть и т.п.)
- [все бизнес-моменты, как успех, так и провал, в том числе причину провала]
- Время завершения вызова (когда работа закончена)
2) Проверяем ТТХ парсера
- Есть ли спец. требования (например bitrix ставит mb_string = 2, многие парсеры работают строго при mb_string = 0)
- Версию php (миноры должны быть строго одинаковы)
- Наличие php-модулей (а вдруг вы используете XMLReader, который на боевом выключен?)
3) Если все выше "Ок", то проверяем - работает ли парсер без агентов (т.е. прямым вызовом c подключением ядра битрикса)
Проверяем, чтобы это был не просто php код, а это был код оформленный по соответствующим агентам правилам. Смотрим чтобы лог-файл корректно отработал и записал нужную информацию!
Особенно поможет документация:
https://dev.1c-bitrix.ru/learning/course/index.php...
4) Создаем агента и смотрим ход выполнения.
Если что-то не работает - смотрим логи и правим.
P.S. Если версия вашего php выше 7, то в работе очень поможет try-catch с
Throwable, который поймает многие перехватываемые ошибки исполнения.