Ошибка совместного доступа при интеграции с 1с

1. user848763 29.11.18 11:03 Сейчас в теме
Добрый день. При обмене данными между 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 примерно. Сейчас же обмен валится постоянно. Может упасть через 5 минут, может через час, но падает в любом случае. В чём проблема может-быть?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
21. kuld 248 24.07.19 02:53 Сейчас в теме
(1) Решилась проблема?
С аналогичной столкнулся. На том же сервере резервная копия той же базы месячной давности работает нормально.
Всё проверил перепроверил, идей нет (
2. yaroslavkravets 24 29.11.18 13:32 Сейчас в теме
что это за файл?
если файл обмена то проверьте права на него, и количество процесов использующих его.
возможно система сайта читает и модифицирует его наложив запрет открытия другими программами, а 1С пытается его открыть
3. user848763 29.11.18 14:53 Сейчас в теме
(2) Да, это файл обмена и таких файлов генерируется очень много вовремя обмена. Как проверить можно?
6. yaroslavkravets 24 30.11.18 16:38 Сейчас в теме
(2)
то проверьте права на него

попробуйте это
4. yaroslavkravets 24 29.11.18 15:21 Сейчас в теме
чтобы узнать - посмотрите как Битрикс отркрывает файл и какие устанавливает ограничения на файл для других процессов(например - LOCK_EX и тд)
но способ обмена данными - писать в файл когда с него считывают - идея плохая, это неправильное архитектурное решение.
посмотрите в сторону очередей в rabbit mq. никакие данные не будуть пропадать(нужен кластер очередей 2-3 сервера) и вы не будете привязаны к какому решению.
если решите перейти с Битрикса на что-то другое не нужно перерабатывать все обмены, только доработать приемник
5. user848763 30.11.18 14:41 Сейчас в теме
(4)Битрикс вообще ничего не читает, он лишь отправляет запрос к 1с на инициализацию данных. 1с сама формирует эти файлы и отправляет битриксу, у битрикса к этим файлам нет доступа вообще
7. user848763 30.11.18 16:44 Сейчас в теме
Да нет, он же создаёт эти файлы постоянно и они нормально читаются, он же не может создать посреди обмена вдруг файл с другими правами. Обмен примерно так работает.

Нажимаем кнопку обмена в 1с > идёт запрос к сайту на авторизацию>приходит ответ от сайта к 1с, что всё ок и нужно начинать формировать файл для отправки на сайт. 1с запокавала в zip часть данных и отправила сайту, сайт обработал эту часть данных и послал к 1с запрос, чтобы она упокавала и отправила следующую часть и так, пока не пройдёт весь обмен.
8. yaroslavkravets 24 30.11.18 16:47 Сейчас в теме
в какую сторону настроен обмен? или в две стороны?
9. user848763 30.11.18 16:48 Сейчас в теме
(8) От 1с к битриксу, заказами не обмениваемся
10. yaroslavkravets 24 30.11.18 16:57 Сейчас в теме
вариантов у меня 3:
- проверить антивирус(если таковой имеется),
- попробовать почистить все временніе файлы в этой папки(не уверен),
- смотреть код модуля Б_ОбменССайтомСервер или связанных с ним, возможно проблема где то там
11. user848763 30.11.18 17:04 Сейчас в теме
(10) Ну вот только если код смотреть, остальные 2 пункта делал уже
12. user848763 30.11.18 17:06 Сейчас в теме
Странное поведение( Ну код один же, модуль один для всех, у кого-то работает нормально
13. user848763 30.11.18 17:08 Сейчас в теме
Со стороны хостинга всё нормально, пытались отловить проблему с их тех. поддержкой, к ним всё отлично отправляется и обрабатывается, проблема именно в 1с. тех. поддержка битрикса, как всегда, бесполезна
14. user848763 05.12.18 15:35 Сейчас в теме
В общем, похоже оказалось, что это проактивный фильтр в битриксе, вообще не очевидно конечно...
15. hobbit91 5 13.02.19 19:31 Сейчас в теме
(14) Добрый день,
подскажите, пожалуйста, как в итоге проблему решили?
16. user848763 14.02.19 10:56 Сейчас в теме
Никак, думал проактивный фильтр битрикса чудит, но нет. Так и живём, 1с ничего не знает, битриксоиды тем более.
17. hobbit91 5 15.02.19 20:42 Сейчас в теме
(16) а как при этом обмен с сайтом проходит?
18. user848763 01.03.19 10:57 Сейчас в теме
(17) Пока выгружаем из 1с в каталог, а скрипт сайта забирает xml к себе
19. user848763 24.05.19 15:02 Сейчас в теме
up, тема открыта. Есть идеи?
20. user848763 24.05.19 15:04 Сейчас в теме
Очень нужна помощь. Права менял какие только возможно, umask 0002 прописывал, куда ещё копать, чем можно отследить?
22. adrassad 16 04.02.21 19:09 Сейчас в теме
Проблему можно решить изменив имя файла в процедуре записи логов.
А Именно:
Б_ОбменССайтомСервер.СообщитьПодробно

Добавляем в попытку:

Попытка

 Текст = Новый ЗаписьТекста(ОсновныеПараметры.ИмяФайлаЛога, КодировкаТекста.ANSI,,истина);
 Текст.ЗаписатьСтроку(Строка(ТекущаяДата()) + "--" + пСобытие);
 Текст.Закрыть();

Исключение
				
 ЗаписьЖурналаРегистрации("СобытияОбменаДанныхМодуляБитрикс", 
 УровеньЖурналаРегистрации.Ошибка,,,ОписаниеОшибки()+пСобытие);
				
  //При блокировке файла логов меняем имя файла
  ОсновныеПараметры.ИмяФайлаЛога = СтрЗаменить(ОсновныеПараметры.ИмяФайлаЛога, ".txt","_.txt");
				
   Текст = Новый ЗаписьТекста(ОсновныеПараметры.ИмяФайлаЛога, КодировкаТекста.ANSI,,истина);
   Текст.ЗаписатьСтроку(Строка(ТекущаяДата()) + "--" + пСобытие);
   Текст.Закрыть();
		
КонецПопытки;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот