|
1с УТ --> bitrix обмен ошибка | ☑ | ||
---|---|---|---|---|
0
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. Я уже не знаю куда копать, помогите пожалуйста!!!! |
|||
1
mortnes
26.05.19
✎
19:01
|
Во время падения обмена с этой ошибкой, в tmp файл этот, который указан в ошибке присутствует, там простой ответ сервера "success"
|
|||
2
mortnes
26.05.19
✎
19:08
|
В последнее время заметил такое. Ребут сервера, делаю обмен - проходит нормально, повторный обмен и последующие уже падают в ошибку.
|
|||
3
ДенисЧ
27.05.19
✎
08:03
|
Возьми унлокер и посмотри, кто держит этот файл
|
|||
4
Garykom
гуру
27.05.19
✎
08:15
|
(0) Вы реально уже полгода с этой багой сидите?
https://forum.infostart.ru/forum86/topic204814/ Не проще уже нанять специалиста, за денежку естественно. |
|||
5
Garykom
гуру
27.05.19
✎
08:16
|
||||
6
Garykom
гуру
27.05.19
✎
08:17
|
Е мое https://dev.1c-bitrix.ru/support/forum/forum26/topic100235/
23.08.2017 17:55:19 |
|||
7
Garykom
гуру
27.05.19
✎
08:17
|
"Кэш почисти" ))
http://1clancer.ru/offer/taskId=41796 |
|||
8
marty0701
27.05.19
✎
08:20
|
Да 1С и держит этот файл, прост времени на завершение походу не хватает и он следом обмен стартует.
|
|||
9
Garykom
гуру
27.05.19
✎
08:27
|
В смысле периодичность обмена слишком малый интервал и стартует новое фоновое когда еще старое не закончило?
|
|||
10
marty0701
27.05.19
✎
08:33
|
С вероятностью 146%
|
|||
11
mortnes
27.05.19
✎
10:06
|
На тостере и лансере не я писал=)
Посмотрел я код модуля, там чёт таймаутов не нашёл. Почему же у других всё успевает? |
|||
12
Garykom
гуру
27.05.19
✎
10:21
|
(11) https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=131&LESSON_ID=10197
Глянь какая у тебя настройка автообмена |
|||
13
mortnes
27.05.19
✎
10:29
|
Автообмен я выключил давно, стартую в ручном режиме(
|
|||
14
mortnes
27.05.19
✎
10:30
|
Сервер хороший на ssd, чего он там не успевает блин
|
|||
15
mortnes
27.05.19
✎
10:36
|
Регламентные операции я тоже вырубил, касательные обмена. Обмен идёт, но в какой-то момент, совершенно рандомно он падает. И падает не на больших данных, а именно на ответах сервера в 1кб и единственной строчкой "success", при чём он может перед падением этот "success" обработать 10 раз, а на 11 упасть
|
|||
16
mortnes
27.05.19
✎
11:00
|
Во время старта обмена, в сеансах 2 сеанса, один от сервера фоновое задание (сам обмен) второй от меня (клиента)
|
|||
17
Garykom
гуру
27.05.19
✎
11:01
|
А ты разбирался как этот обмен то устроен?
Эту проблему решить можно но бесплатно вряд ли кто будет ковыряться, так что или тем кто продал в поддержку или нанимайте за денежку. |
|||
18
mortnes
27.05.19
✎
11:03
|
Да принцип простой. Начало обмена>аторизация на сайте>ответ от сайта>1с начинает выгружать данные и отправлять на сайт>сайт их принял и обработал>посылает 1ске ответ "success">1с переходит к следующему шагу и так по кругу
|
|||
19
mortnes
27.05.19
✎
11:06
|
Вряд ли в платформе дело?
|
|||
20
Garykom
гуру
27.05.19
✎
11:17
|
(18) "Ошибка совместного доступа к файлу была из-за прав на папку /tmp на debian сервере, где 1с. Нужно было не 777 права выставлять, а 1777"
"Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. В такой каталог может писать ЛЮБОЙ пользователь. Из такой директории пользователь может удалить только те файлы, владельцем которых он является. Примером может служить директория /tmp, в которой запись открыта для всех пользователей, но нежелательно удаление чужих файлов." У того похоже сторонний процесс папку /tmp чистил не вовремя |
|||
21
Garykom
гуру
27.05.19
✎
11:19
|
Проверь возможно тоже самое права 1777 на /home/usr1cv8/tmp/ сделай
|
|||
22
Garykom
гуру
27.05.19
✎
11:21
|
(21)+ Хотя если сама 1С и удаляет временный файл раньше времени то не поможет.
Еще глянуть если ли там распаковка zip архива например. Или если все время тот же самый файл читает то у 1С глюки с не отпусканием файла. |
|||
23
mortnes
27.05.19
✎
11:34
|
Она эти темпы создаёт постоянно и всегда одинаковые, меняется лишь име временного файла и вот она нормально читает и отпускает их, но на каком-то вдруг падает, причём этот "какой-то" вообще ничем не отличается от пред идущих
|
|||
24
mortnes
27.05.19
✎
11:35
|
1777 было сделано первым делом, я даж usr1cv8 делал рутом
|
|||
25
Garykom
гуру
27.05.19
✎
11:51
|
Ну значит ошибка в этом "ОбщийМодуль.Б_ОбменССайтомСервер"
Эта хрень она типовая из УТ11 а от битрикса встраивается, вот трясите саппорт битрикса кто писал этот модуль. Да проблема в 1С - но в модуле который предоставляется для интеграции битриксом, для встраивания в конфу. |
|||
26
Garykom
гуру
27.05.19
✎
11:52
|
(25) *хрень НЕ типовая из УТ11
|
|||
27
mortnes
27.05.19
✎
11:56
|
Попробуем конечно, смущает только, что всё-таки у большинства то работает эта хрень
|
|||
28
mortnes
27.05.19
✎
11:56
|
Да и поддержка битрикса, это 7 кругов ада
|
|||
29
mortnes
28.05.19
✎
11:29
|
Начал мониторить процессы, вопрос, почему на 1 файл 2 процесса, это нормально для 1ски?
https://cdn1.radikalno.ru/uploads/2019/5/28/8761eb117ded898d9125c50439997c7b-full.jpg |
|||
30
Garykom
гуру
28.05.19
✎
11:47
|
(29) Это значит у тебя два фоновых сеанса одновременно обмен ведут.
Проверяй в чем проблема, может две базы 1С или еще что |
|||
31
mortnes
28.05.19
✎
11:52
|
Т.е проблема походу в этом? Оно запускает 2 одновременных обмена?
|
|||
32
lodger
28.05.19
✎
12:02
|
(29) ут11 любит фоновые операции, а они могут под другим процессом работать.
надо чтобы запускающий фоновую операцию код отпускал файл на время работы фонового. |
|||
33
mortnes
28.05.19
✎
13:43
|
Вот кусок кода, где падает обмен, что тут необычного?
// Функция - получает информацию от сайта процесс загрузки файла // // Параметры: // ПараметрыОбмена - Настройки узла обмена // ПолноеИмяФайла - Полное имя к выгружаемому файлу // Соединение - Http соединение к сайту // ПараметрыЗапроса - Параметры http запроса // Заголовки - Заголовки http запроса // Возвращаемое значение: // Ответ сайта Функция ПолучитьРезультатОтправкиФайлаНаСервер(ПараметрыОбмена,ПолноеИмяФайла, Соединение, ПараметрыЗапроса="", Заголовки="") ОтветСервера = Неопределено; ИмяФайлаОтвета = ПолучитьИмяВременногоФайла(); Попытка HTTPОтвет = Соединение.ОтправитьДляОбработки(ПолноеИмяФайла, СокрЛП(ПараметрыЗапроса), ИмяФайлаОтвета, СокрЛП(Заголовки)); ContentType = HTTPОтвет.Заголовки.Получить("Content-Type"); лКодировка = Прав(ContentType, СтрДлина(ContentType) - (Найти(ContentType, "charset=")+7)); Исключение СообщитьПодробно(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), ПараметрыОбмена, Истина, Истина); КонецПопытки; ФайлОтвета = Новый Файл(ИмяФайлаОтвета); Если ФайлОтвета.Существует() Тогда ЧтениеТекста = Новый ЧтениеТекста(ИмяФайлаОтвета, лКодировка); ТекстОтвета = ЧтениеТекста.Прочитать(); Если НЕ ПустаяСтрока(ТекстОтвета) Тогда ОтветСервера = ТекстОтвета; Иначе СообщитьПодробно("Получение данных с сервера: Получен пустой ответ сервера.", ПараметрыОбмена, Истина, Истина); КонецЕсли; Иначе СообщитьПодробно("Отправка файла на сервер: Ответ сервера не получен.", ПараметрыОбмена, Истина, Истина); КонецЕсли; Попытка УдалитьФайлы(КаталогВременныхФайлов(), ИмяФайлаОтвета); Исключение КонецПопытки; Возврат ОтветСервера; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |