Имя: Пароль:
1C
 
Программный перезапуск сервера 1С
0 vladon
 
15.02.07
16:14
Где-то тут пару недель назад я видел код перезапуска COM-сервера 1С, сейчас не могу найти. Может кто-нибудь поделится?
1 Salvador Limones
 
15.02.07
16:15
"VBScript"
set ComPlus = createobject("COMAdmin.COMAdminCatalog")
set Pril=ComPlus.GetCollection("Applications")
Pril.Populate()
PrCount=pril.Count - 1
for each f1 in Pril
   if f1.Name="1CV8" then
       ComPlus.ShutDownApplication(f1.Name)
   end if
next

Это?
2 Unstoppable
 
15.02.07
16:16
Перезагрузка сервера 1С:Предприятия
Длительная работа сервера 1С:Предприятия (несколько суток или недель) может в некоторых случаях приводить к эффекту фрагментации виртуального адресного пространства серверного приложения. Данный эффект порой усугубляется, если в процессе работы сервера многократно и параллельно исполнялись запросы к базе данных с очень длинными текстами (1 мегабайт и более).

В результате фрагментации памяти иногда может наблюдаться снижение производительности сервера 1С:Предприятия и устойчивости сервера к параллельным операциям над большими объемами данных. Для того, чтобы избежать возможного негативного влияния фрагментации памяти, желательно при разработке конфигураций учитывать рекомендации, касающиеся использования памяти. Также можно рекомендовать периодическую (в соответствии с наблюдениями, 1 раз в неделю, в месяц...) перезагрузку серверного приложения 1С:Предприятия.

Для перезагрузки можно выбрать время, когда активная работа пользователей не ведется. Перезагрузка сервера будет выполнена автоматически, если в течение некоторого времени (обычно 3 минут) к серверу 1С:Предприятия не подсоединен ни один пользователь. Если этого добиться затруднительно, то сервер можно перезагрузить принудительно при помощи утилиты Start/ Settings/ Control Panel/ Administrative Tools/ Component Services, на том компьютере, на котором установлен сервер 1С:Предприятия. Для этого в ней необходимо найти ветку Console Root/ Component Services/ Computers/ My Computer/ COM+ Applications/ 1CV8 и выполнить пункт Shut down ее локального меню.

Перезагрузка сервера может быть выполнена программно. Это можно сделать, например, при помощи следующего кода на встроенном языке 1С:Предприятия 8.0:

COMPlus = Новый COMОбъект("COMAdmin.COMAdminCatalog");
Приложения = COMPlus.GetCollection("Applications");
Приложения.Populate();
ПоследнийНомер = Приложения.Count - 1;
Для Номер = 0 по ПоследнийНомер Цикл    
Приложение = Приложения.Item(Номер);    
Если Приложение.Name = "1CV8" Тогда        
 COMPlus.ShutdownApplication(Приложение.Name);        
 Прервать;    
КонецЕсли;
КонецЦикла;
ВАЖНО!

Если в момент перезагрузки серверного приложения 1CV8 к нему были подсоединены пользователи, то их работа завершится аварийно. При этом какие-то данные могут оказаться не сохраненными.