Вход | Регистрация
 
Информационные технологии :: Администрирование

1с УТ --> bitrix обмен ошибка

1с УТ --> bitrix обмен ошибка
Я
   mortnes
 
26.05.19 - 18:59
Добрый день. При обмене данными между 1с и битриксом, постоянно вываливается ошибка:

{ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(1516)}: Ошибка при вызове конструктора (ЧтениеТекста)
        ЧтениеТекста = Новый ЧтениеТекста(ИмяФайлаОтвета, лКодировка);          
по причине:
Ошибка совместного доступа к файлу '/home/usr1cv8/tmp/v8_mWVbFi_10c8.tmp'

Конфигурация 11 (11.3.4.103), платформа 8.3.10.2505, модуль битрикса 7.0.1.6. От версии модуля битрикса не зависит. 1с клиент-сервер, сервер установлен на debian. В прочем, когда-то он был и на windows эта ошибка тоже присутствовала, но обмен проходил без ошибок 1 раз из 5 примерно. Сейчас проходит так же, 1 раз и 5. Может упасть через 5 минут, может через час, но падает в любом случае. В чём проблема может-быть?

Сервер 1c запускается от юзера usr1cv8, права на папку /opt/1C ему даны, он владелец, я даже дал ему права на tmp. Поменял umask на 0002. Я уже не знаю куда копать, помогите пожалуйста!!!!
 
 
   mortnes
 
1 - 26.05.19 - 19:01
Во время падения обмена с этой ошибкой, в tmp файл этот, который указан в ошибке присутствует, там простой ответ сервера "success"
   mortnes
 
2 - 26.05.19 - 19:08
В последнее время заметил такое. Ребут сервера, делаю обмен - проходит нормально, повторный обмен и последующие уже падают в ошибку.
   ДенисЧ
 
3 - 27.05.19 - 08:03
Возьми унлокер и посмотри, кто держит этот файл
   Garykom
 
4 - 27.05.19 - 08:15
(0) Вы реально уже полгода с этой багой сидите?
https://forum.infostart.ru/forum86/topic204814/

Не проще уже нанять специалиста, за денежку естественно.
   Garykom
 
5 - 27.05.19 - 08:16
https://toster.ru/q/544116

упс Вопрос задан 06 июля 2018
   Garykom
 
6 - 27.05.19 - 08:17
   Garykom
 
7 - 27.05.19 - 08:17
"Кэш почисти"  ))
http://1clancer.ru/offer/taskId=41796
   marty0701
 
8 - 27.05.19 - 08:20
Да 1С и держит этот файл, прост времени на завершение походу не хватает и он следом обмен стартует.
   Garykom
 
9 - 27.05.19 - 08:27
В смысле периодичность обмена слишком малый интервал и стартует новое фоновое когда еще старое не закончило?
   marty0701
 
10 - 27.05.19 - 08:33
С вероятностью 146%
   mortnes
 
11 - 27.05.19 - 10:06
На тостере и лансере не я писал=)

Посмотрел я код модуля, там чёт таймаутов не нашёл. Почему же у других всё успевает?
   Garykom
 
12 - 27.05.19 - 10:21
(11) https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=131&LESSON_ID=10197

Глянь какая у тебя настройка автообмена
   mortnes
 
13 - 27.05.19 - 10:29
Автообмен я выключил давно, стартую в ручном режиме(
   mortnes
 
14 - 27.05.19 - 10:30
Сервер хороший на ssd, чего он там не успевает блин
   mortnes
 
15 - 27.05.19 - 10:36
Регламентные операции я тоже вырубил, касательные обмена. Обмен идёт, но в какой-то момент, совершенно рандомно он падает. И падает не на больших данных, а именно на ответах сервера в 1кб и единственной строчкой "success", при чём он может перед падением этот "success" обработать 10 раз, а на 11 упасть
   mortnes
 
16 - 27.05.19 - 11:00
Во время старта обмена, в сеансах 2 сеанса, один от сервера фоновое задание (сам обмен) второй от меня (клиента)
   Garykom
 
17 - 27.05.19 - 11:01
А ты разбирался как этот обмен то устроен?

Эту проблему решить можно но бесплатно вряд ли кто будет ковыряться, так что или тем кто продал в поддержку или нанимайте за денежку.
   mortnes
 
18 - 27.05.19 - 11:03
Да принцип простой. Начало обмена>аторизация на сайте>ответ от сайта>1с начинает выгружать данные и отправлять на сайт>сайт их принял и обработал>посылает 1ске ответ "success">1с переходит к следующему шагу и так по кругу
   mortnes
 
19 - 27.05.19 - 11:06
Вряд ли в платформе дело?
   Garykom
 
20 - 27.05.19 - 11:17
(18) "Ошибка совместного доступа к файлу была из-за прав на папку /tmp на debian сервере, где 1с. Нужно было не 777 права выставлять, а 1777"

"Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. В такой каталог может писать ЛЮБОЙ пользователь. Из такой директории пользователь может удалить только те файлы, владельцем которых он является. Примером может служить директория /tmp, в которой запись открыта для всех пользователей, но нежелательно удаление чужих файлов."

У того похоже сторонний процесс папку /tmp чистил не вовремя
   Garykom
 
21 - 27.05.19 - 11:19
Проверь возможно тоже самое права 1777 на /home/usr1cv8/tmp/ сделай
   Garykom
 
22 - 27.05.19 - 11:21
(21)+ Хотя если сама 1С и удаляет временный файл раньше времени то не поможет.

Еще глянуть если ли там распаковка zip архива например.

Или если все время тот же самый файл читает то у 1С глюки с не отпусканием файла.
   mortnes
 
23 - 27.05.19 - 11:34
Она эти темпы создаёт постоянно и всегда одинаковые, меняется лишь име временного файла и вот она нормально читает и отпускает их, но на каком-то вдруг падает, причём этот "какой-то" вообще ничем не отличается от пред идущих
   mortnes
 
24 - 27.05.19 - 11:35
1777 было сделано первым делом, я даж usr1cv8 делал рутом
   Garykom
 
25 - 27.05.19 - 11:51
Ну значит ошибка в этом "ОбщийМодуль.Б_ОбменССайтомСервер"

Эта хрень она типовая из УТ11 а от битрикса встраивается, вот трясите саппорт битрикса кто писал этот модуль.
Да проблема в 1С - но в модуле который предоставляется для интеграции битриксом, для встраивания в конфу.
   Garykom
 
26 - 27.05.19 - 11:52
(25) *хрень НЕ типовая из УТ11
   mortnes
 
27 - 27.05.19 - 11:56
Попробуем конечно, смущает только, что всё-таки у большинства то работает эта хрень
   mortnes
 
28 - 27.05.19 - 11:56
Да и поддержка битрикса, это 7 кругов ада
   mortnes
 
29 - 28.05.19 - 11:29
Начал мониторить процессы, вопрос, почему на 1 файл 2 процесса, это нормально для 1ски?

https://cdn1.radikalno.ru/uploads/2019/5/28/8761eb117ded898d9125c50439997c7b-full.jpg
   Garykom
 
30 - 28.05.19 - 11:47
(29) Это значит у тебя два фоновых сеанса одновременно обмен ведут.

Проверяй в чем проблема, может две базы 1С или еще что
 
 Рекламное место пустует
   mortnes
 
31 - 28.05.19 - 11:52
Т.е проблема походу в этом? Оно запускает 2 одновременных обмена?
   lodger
 
32 - 28.05.19 - 12:02
(29) ут11 любит фоновые операции, а они могут под другим процессом работать.
надо чтобы запускающий фоновую операцию код отпускал файл на время работы фонового.
   mortnes
 
33 - 28.05.19 - 13:43
Вот кусок кода, где падает обмен, что тут необычного?

// Функция - получает информацию от сайта процесс загрузки файла
//
// Параметры:
//  ПараметрыОбмена     -      Настройки узла обмена  
//  ПолноеИмяФайла     -      Полное имя к выгружаемому файлу
//  Соединение         -      Http соединение к сайту
//  ПараметрыЗапроса -      Параметры http запроса
//  Заголовки         -      Заголовки http запроса
// Возвращаемое значение:
//   Ответ сайта
Функция ПолучитьРезультатОтправкиФайлаНаСервер(ПараметрыОбмена,ПолноеИмяФайла, Соединение, ПараметрыЗапроса="", Заголовки="")
    
    ОтветСервера = Неопределено;
    ИмяФайлаОтвета = ПолучитьИмяВременногоФайла();
    
    Попытка
        
        HTTPОтвет = Соединение.ОтправитьДляОбработки(ПолноеИмяФайла, СокрЛП(ПараметрыЗапроса), ИмяФайлаОтвета, СокрЛП(Заголовки));
        ContentType = HTTPОтвет.Заголовки.Получить("Content-Type");
        лКодировка     = Прав(ContentType, СтрДлина(ContentType) - (Найти(ContentType, "charset=")+7));
        
    Исключение
        
        СообщитьПодробно(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), ПараметрыОбмена, Истина, Истина);    
    КонецПопытки;
    
    ФайлОтвета = Новый Файл(ИмяФайлаОтвета);
    
    Если ФайлОтвета.Существует() Тогда
        
        ЧтениеТекста = Новый ЧтениеТекста(ИмяФайлаОтвета, лКодировка);          
        ТекстОтвета = ЧтениеТекста.Прочитать();
        
        Если НЕ ПустаяСтрока(ТекстОтвета) Тогда
            ОтветСервера = ТекстОтвета;
        Иначе
            СообщитьПодробно("Получение данных с сервера: Получен пустой ответ сервера.", ПараметрыОбмена, Истина, Истина);    

        КонецЕсли;
        
    Иначе
        
        СообщитьПодробно("Отправка файла на сервер: Ответ сервера не получен.", ПараметрыОбмена, Истина, Истина);    
        
    КонецЕсли;
    
    Попытка
        УдалитьФайлы(КаталогВременныхФайлов(), ИмяФайлаОтвета);
    Исключение
    КонецПопытки;
    
    Возврат ОтветСервера;
    
КонецФункции


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.