Ребят, проблема. Нужна помощь.
Имеется:
Платформа 8.3.17.1549, MSSQL 2014, УТ 11.4.12.75 немного дописанная в расширении (плюс в основной конфигурации модуль битрикса). Модуль битрикса 7.0.1.31 тоже немного дописанный.
Проблема: При запуске длительного обмена с сайтом через модуль битрикса (полная выгрузка) регламентное задание аварийно завершается без каких-либо ошибок в коде 1с, и записей в журнале регистрации примерно через 30 минут.
Попытки решения: 1) был настроен технологический журнал с событием excp, запущено регламентное задание. В момент вылета получили записи (первый скрин, чтобы не копировать все).
2) Найти в гугле ничего путнего не удалось, нашел на сайте 1с, что есть такай ошибка на этой платформе. Второй скрин
3) Переустановил платформу на 8.3.18.1128. Выгрузка продержалась чуть дольше около трех часов, но в итоге вылетела точно так же в ТЖ - требуется переустановка соединения
4) Переустановил платформу на 8.3.18.1208, результат тот же. Три часа и вылет.
5) Разумеется до всего это чистил кэши, в том числе серверный, перезапускал сервер и сервер приложение
6) Проблем с железом нет, провели диагностику, в том числе подключения, соединения и прочее.
Нужен совет, может даже из разряда бреда, потому что все нормальные идеи закончились.
P.S. примерно неделю назад на платформе 8.3.17.1549 проходила аналогичная полная выгрузка, но из УТ 10, а сейчас перешли на 11-ую и из нее выгрузка не проходит.
Что может выгружаться 3 часа? Точно вся номенклатура нужна в Битриксе? Может имеет смысл выгружать только то, что есть на остатке?
Если фильтры по остаткам настроены уже, то может проблема в пропускной способности канала интернет? Пробуйте выгрузить копию и сделать обмен там, где скорость интернета >= 100Мбит.
Лично ещё сталкивался с проблемой того, что в качестве фотографии товара заливали фотографии с телефонов/фотоаппаратов (по 2-5Мб, 100-200 карточек уже за 500-100Мб в результате). Пришлось сжимать все фотографии самописной обработкой, чтобы уменьшить объем выгрузки.
Дополнительно я бы сделал так. Загрузил копию базы в файловый вариант. Ограничил выгрузку 10-50 карточками номенклатуры (установил отбор в настройках обмена). Запустил отладку с замером производительности. Выполнил обмен. По завершении смотрел бы, что именно и какие операции выполняются долго.
Т.е. в любом случае потеря соединения через 3 часа - это следствие, а не причина. Нужно разбирать, почему обмен длится так долго.
Тут я не согласен, что причина то, что обмен долго длится. Полная выгрузка товаров из 1с в принципе долго длится, выгружается порциями с настройкой того, что если соединение от сайта не получено - повторить попытку. Кроме того на сайт даже не едут картинки. Это просто номенклатура, цены, остатки.
Ну и если бы проблема была бы в соединении с интернетом, то при выгрузке в файл она бы не повторилась, но она повторяется как при выгрузке на сайт так и при выгрузке в файл. Т.е. дело точно не в интернете
Ну и в целом, разве нормально, что спустя 3 часа сервер убивает фоновый процесс?
(8) Да подольше чем 3 часа должно быть, в том и суть. Позиций порядка 1.5 миллиона, порядка 500 складов, столько же видов цен, плюс доп. реквизиты, вроде технических характеристик (имеестся ввиду пакет предлажений), которые тоже должны ехать. В итоге получается пакет (если выгружать в файл) на несколько десятков ГБ. В лучшем случае 15 ГБ, за час столько просто даже если будет уже готовый файл, который не надо составлять не уедет на сайт.
Было что-то подобное из-за большого количества данных. Регистр сведений Б_ПакетныйОбмен вроде полностью заполнялся и база была на msql express. В итоге 10Гб не хватало и обмен падал. Решилось или переводом на postgress или изменением отбора выгрузки. Возможно была проблема с настройкой ведения характеристик - использовался вариант общие для вида. Из-за этого на каждую позицию создавалось множество вариантов.
(7) Тоже уже думаю переустановить SQL, но у меня не express, а обычный, в нем тоже все по умолчанию, не настраивали специально количество памяти на процесс. Просадок по памяти на сервере во время обмена нет, не доходит даже до 50% занятой памяти. Я грешил на то, что создается новый rphost и как-то некорректно перекидываются процессы. Но сейчас посмотрел 256 сеансов на процесс, он вообще не запускается.
(11)
Если гасится rphost то пользователи переносятся, а фоновые задания нет. Во всяком случае те, что по регламенту запускаются.
Поэтому и в ЖР ни чего не будет.
Несколько раз сталкивался с такой ситуацией. Есть период перезапуска процесса. Если в него попал - в пролете.
Как выход, можно отмечать какие-то точки контроля и при перезапуске продолжать.
Ну и, как многие регламентные в 1с, делайте расписание раз в 60 сек))) . Дальше отрабатываете свою логику. Начать заново, продолжить...
(13) А как изменить этот период перезапуска процесса? В типовых конфигурациях фоновые процессы ведь работают по несколько суток. Я в большой ERP, например, месяц закрывал, он закрывается несколько дней, при этом не вылетает.
Но не факт.
Про память читал на инфостарте где-то. Если ставишь 0, то это значит 5% от общего объема)))
https://its.1c.ru/db/v8315doc#bookmark:cs:TI000000153 По этой ссылке описание настроек.
0 -действительно работа без перезагрузки по времени.
И там есть что-то про новый процесс и ЖР. Ни чего не понятно, но очень интересно)))
Вот эта фраза:
Системное фоновое задание работает без создания сеанса и его работа не отражается в журнале регистрации.
Т.е. фоновое может и "переезжает", но его работа не отражается в журнале регистрации. Т.е. если там есть ошибка, то она не будет отмечена?!
Похожая беда с обменом УТ БП. постоянно аварийное завершение фонового задания. самое забавное что когда включил ТЖ на все все все, потому что на EXCP не понятно было для меня, то эта падла выгрузила все без ошибок
Поставил размер пакета поменьше в выгрузке битрикса, установил 5 попыток и интервалом в 30 секунд на переподключение, почистил все регистры с пакетами, еще раз почистил все кэши, перезапустил сервер + службу, почистил кэши сайта, поставил выгрузку заново, пока идет больше 5 часов, посмотрим, завершится или нет.
Как мне кажется, проблема может быть на сервере битрикса. Выносит по таймауту.
Кто использует стандартную выгрузку товара в битрикс - стыд ему и позор. Надо переписывать и в битриксе и в 1с. Более дурной выгрузки я не встречал.
Переделывайте на веб-сервисы, если есть возможность.
Кидался, в свое время, каталогами по 120.000 позиций с картинками и прочими длинными описаниями ( таблетки и прочая наркота).
Плавал, знаю. Но конкретно ни чем не помогу, ибо дорого.