Задать вопрос
@nikita_falcon

Как внедрить парсер в Bitrix?

Написал парсер, все нужные мне данные записываю в csv файл, на сервер если выкидывать файлы (парсер), ничего не работает (работает только на локальной машине), подскажите пожалуйста, что делать?
Мне нужно его повесить на "Агенты"
  • Вопрос задан
  • 933 просмотра
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron
Работаю с Bitrix24
Написать агента достаточно просто, но без конкретных данных рассматривать вашу ситуацию довольно сложно.
Я могу порекомендовать общие подходы для более глубокого изучения проблемы.

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, который поймает многие перехватываемые ошибки исполнения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы