Отваливаются соединения с WEB-сервисами

1. SeverBaP 5 07.08.17 12:21 Сейчас в теме
В локальной сети есть два сервера один сервер (на Windows) имеет web-сервис для обработки данных, второй сервер (под centos'ом) отправляет данные для обработки в этот сервис. Данные из второго сервера отправляются посредством создания фонового задания на втором сервере и подключения внешней обработки в которой заложены все что необходимо. Обмены данными происходят корректно, но бывают моменты когда вешаются фоновые задания с этой внешней обработкой и обмен не происходит. Причем если попытаться открыть эту обработку (после того как фоновые задания с этой обработкой повисли) в клиенте и попытаться отправить данные, то в тонком клиенте при открытии этой обработки клиент вешается (на открытие этой обработки/формы ничего не завязано). Помогает только рестарт сервера - после чего начинает работать все в течении нескольких дней без сбоев, а потом опять происходить непонятное и приходится рестартовать сервер. Был подключен технологический журнал в нем конкретно что-то найти не получается ... подскажите в какую сторону смотреть - вангую в сторону роста сеансовых данных.
Вознаграждение за ответ
Показать полностью
Найденные решения
22. SeverBaP 5 08.09.17 17:44 Сейчас в теме
Данная проблема не повторилась на новом собранном сервере. (развернул на более свежей платформе 1С и версии постгресе)
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. SeverBaP 5 07.08.17 12:43 Сейчас в теме
Первый сервер 1С 8.3.8.2088, второй сервер 8.3.6.2449.
13. SeverBaP 5 10.08.17 23:12 Сейчас в теме
В техлогическом журнале море вот таких сообщений:
31:07.182017-0,EXCP,2,process=rphost,ClientID=0,Exception=NetDataExchangeException,Descr='server_addr=any:1560 descr=98(0x00000062): Address already in use line=183 file=./src/DataExchangeServerImpl.cpp'
31:07.182018-0,EXCPCNTX,0,ClientComputerName=,ServerComputerName=,UserName=,ConnectString=
31:07.182019-20019,EXCPCNTX,1,SrcName=CONN,OSThread=-1940957376,process=rphost,ClientID=1,Txt=Outgoing connection closed
31:07.182020-50018,EXCPCNTX,0,SrcName=PROC,OSThread=-1940957376,process=rphost,RunAs=application
31:07.182022-0,SCOM,3,process=rphost,Func='setSrcProcessName(RHostRoot,RHostRoot)'
31:09.942000-0,CONN,3,process=rphost,ClientID=2,Protected=0,Txt='Accepted, client=(2)192.168.1.88:37828, server=(2)192.168.1.88:1561'
31:10.782002-0,SCOM,3,process=rphost,t:clientID=2,Func='setSrcProcessName(ServerJobExecutorContext,ServerJobExecutorContext)'
31:18.022000-0,CONN,3,process=rphost,ClientID=3,Protected=1,Txt='Accepted, client=(2)192.168.1.102:50011, server=(2)192.168.1.88:1561'
31:19.312003-0,CONN,2,process=rphost,t:clientID=3,Txt=eAPSENo
31:19.312015-0,EXCP,2,process=rphost,t:clientID=3,Descr='GSS-API error gss_acquire_cred: Unspecified GSS failure. Minor code may provide more information
'
31:19.312016-0,EXCP,2,process=rphost,t:clientID=3,Descr='GSS-API error gss_acquire_cred:
'
31:20.062001-0,SCOM,3,process=rphost,t:clientID=3,Func='setSrcProcessName(uim_m01,UIM_M01)'
31:20.112010-0,EXCP,4,process=rphost,p:processName=UIM_M01,t:clientID=3,t:applicationName=1CV8C,t:computerName=RemoteApp,t:connectID=5983,Exception=DataBaseException,Descr='Ошибка СУБД:
ERROR: syntax error at or near "application"
LINE 1: lock table pg_class in application share mode
непонятно что это вообще
14. dmpas 418 11.08.17 10:02 Сейчас в теме
(13)
ERROR: syntax error at or near "application"
LINE 1: lock table pg_class in application share mode


а постгрес точно с патчами от 1С ??? application lock нет в обычном постгресе, только в 1С-ном.
15. dmpas 418 11.08.17 10:04 Сейчас в теме
(13)
31:19.312016-0,EXCP,2,process=rphost,t:clientID=3,Descr='GSS-API error gss_acquire_cred:
'

Аутентификация ОС используется?
3. SeverBaP 5 07.08.17 12:51 Сейчас в теме
Процедура ОповеститьОбработчик(ВнешнийОбработчик,Событие,ОбъектСобытия,ДанныеДляОбработки,ВнешнееСобытие) Экспорт 
	
	Менеджер = ВнешниеОбработки;
	
	Попытка
		
		АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ВнешнийОбработчик.ХранилищеОбработки.Получить());
	
		ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище,,Ложь);
		
	Исключение
		
		ЗаписьЖурналаРегистрации("Создание внешнего модуля: ОШИБКА! '"+ОписаниеОшибки()+"'", УровеньЖурналаРегистрации.Предупреждение);
		ИмяОбработки = Неопределено;
		
	КонецПопытки;	
	
	Если НЕ ИмяОбработки = Неопределено Тогда
		
		ОбработкаОбъект = Менеджер.Создать(ИмяОбработки);
		
		Настройки = Новый Структура;
		
		Для Каждого ДанныеПеременных Из ВнешнийОбработчик.НастройкиМодуля Цикл 
			Настройки.Вставить(ДанныеПеременных.Переменная,ДанныеПеременных.ЗначениеПеременной);
		КонецЦикла;	                                                        
		
		Для Каждого ДанныеПеременных Из ВнешнийОбработчик.Команды Цикл 
			Настройки.Вставить(ДанныеПеременных.ИмяМетода,ДанныеПеременных.ЭлементСвязки);
		КонецЦикла;	                                                        
		Настройки.Вставить("СсылкаНаМодуль",ВнешнийОбработчик.Ссылка);
		Попытка
			
			ОбработкаОбъект.Настройки = Настройки;
			
		Исключение
			
			ЗаписьЖурналаРегистрации("Настройка внешнего модуля: ОШИБКА! '"+ОписаниеОшибки()+"'", УровеньЖурналаРегистрации.Предупреждение);

		КонецПопытки;

		Если НЕ ВнешнееСобытие Тогда 
			
			ОбработкаОбъект.ОбработатьВнутреннееСобытие(СокрЛП(Событие),ОбъектСобытия);
			
		ИНаче
			
			ОбработкаОбъект.ОбработатьВнешнееСобытие(ДанныеДляОбработки);
			
		КонецЕсли;
		
	КонецЕсли;
	
	УдалитьИзВременногоХранилища(АдресВоВременномХранилище);
	
КонецПроцедуры
Показать


На всякий случай в конце выполнения добавил УдалитьИзВременногоХранилища(АдресВоВременномХранилище);
4. SeverBaP 5 07.08.17 13:19 Сейчас в теме
Процедура ОбработатьВнутреннееСобытие(Событие,ОбъектСобытия) Экспорт
	
	Если Событие = "Изменение" Тогда // Обработка события изменения
		// обработка объекта Поступление товаров и услуг
		Если НЕ НеобходимоОбработатьСобытиеПоОбъекту(ОбъектСобытия) Тогда 
			Возврат;
		КонецЕсли;	
		
		СтруктураДанныхОтправки = Новый Структура;
		СтруктураДанныхОтправки.Вставить("ТипОбъекта",СокрЛП(ОбъектСобытия.Ссылка.Метаданные().Имя)); // фиксирование в сервисе что за объект 
		СтруктураДанныхОтправки.Вставить("Событие",Событие); // тип события
		СтруктураДанныхОтправки.Вставить("Объект",ПреобразоватьДокументКФорматуПередачи(ОбъектСобытия)); // подготовленный объект
		
		// Инициализация отправки данных в сервис
		Определения = Новый WSОпределения("http://****************************************/WSProcessingExternalEvents.1cws?wsdl", СокрЛП(Настройки.Логин),СокрЛП(Настройки.Пароль)); 
		
		Прокси = Новый WSПрокси(Определения, "ControlOfExternalModules", "WSImportDate","WSImportDateSoap");
		Прокси.Пользователь = СокрЛП(Настройки.Логин);
		Прокси.Пароль = СокрЛП(Настройки.Пароль);
			
		Результат  = Прокси.ImportDate(СтруктураДанныхОтправки);
		
		Если Результат.status = "error" Тогда 
			
			ЗначениеИзДанных = Результат.error;
			Попытка
				ИсключениеОписание = ЗначениеИзДанных;
			Исключение
				ИсключениеОписание = ОписаниеОшибки();
			КонецПопытки;
			
			ВызватьИсключение ИсключениеОписание;
			
		КонецЕсли;	
		
	КонецЕсли;	
	
КонецПроцедуры
Показать

Вот код самого обработчика передается текст
5. SeverBaP 5 07.08.17 13:29 Сейчас в теме
00:01.968002-1069995,CONN,0,process=rphost,t:clientID=14645,t:clientID=14645,t:computerName=servcentos,t:applicationName=BackgroundJob,t:connectID=14499,Calls=14404
00:01.968021-0,CONN,1,process=rphost,ClientID=14644,Txt=Incomming connection closed: long still

частенько вываливаются вот такие вот записи в тех журнале
6. dmpas 418 07.08.17 14:32 Сейчас в теме
Попробуйте для начала таймауты в WSПрокси и WSОпределения поставить. Может хотя бы зависать перестанут, тогда можно будет как-то отрабатывать эту ошибку и пытаться повторно отправить данные.
7. SeverBaP 5 07.08.17 14:36 Сейчас в теме
(6) Установил таймаут как 9 сек:
		Определения = Новый WSОпределения("http://***********/ws/WSProcessingExternalEvents.1cws?wsdl", СокрЛП(Настройки.Логин),СокрЛП(Настройки.Пароль),,9); 

буду мониторить
8. dmpas 418 07.08.17 14:40 Сейчас в теме
(7) В прокси тоже стоит поставить
9. SeverBaP 5 07.08.17 14:41 Сейчас в теме
10. SeverBaP 5 07.08.17 14:44 Сейчас в теме
Стоп точно ....
		Прокси = Новый WSПрокси(Определения, "ControlOfExternalModules", "WSImportDate","WSImportDateSoap");
		Прокси.Пользователь = СокрЛП(Настройки.Логин);
		Прокси.Пароль = СокрЛП(Настройки.Пароль);
		Прокси.Таймаут = 9;
11. SeverBaP 5 07.08.17 15:01 Сейчас в теме
		Прокси = Новый WSПрокси(Определения, "ControlOfExternalModules", "WSImportDate","WSImportDateSoap",,9);
		Прокси.Пользователь = СокрЛП(Настройки.Логин);
		Прокси.Пароль = СокрЛП(Настройки.Пароль);

Правильный код, иначе будет ошибка
12. SeverBaP 5 10.08.17 23:09 Сейчас в теме
Держалось несколько дней было все нормально и вот опять эта проблема рестарт опять все восстановил ...
16. SeverBaP 5 11.08.17 10:05 Сейчас в теме
Скорее всего установлен постгрес без него. Аутентификация ОС используется? - нет
17. SeverBaP 5 11.08.17 10:06 Сейчас в теме
Может еще какие-то логи выложить?
18. dmpas 418 11.08.17 10:12 Сейчас в теме +3 $m
Лучше сначала убедиться в постгресе.
20. SeverBaP 5 11.08.17 10:12 Сейчас в теме
21. SeverBaP 5 11.08.17 10:21 Сейчас в теме
(18) с патчем, установлена версия 9.2.1
19. SeverBaP 5 11.08.17 10:12 Сейчас в теме
настройки кластера и сервера
Прикрепленные файлы:
22. SeverBaP 5 08.09.17 17:44 Сейчас в теме
Данная проблема не повторилась на новом собранном сервере. (развернул на более свежей платформе 1С и версии постгресе)
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)