1с как перезагрузить сервер 1с

Обновлено: 07.07.2024

(6) Проблема у вас только одна - попытка использования устаревших и уже нихрена реально не поддерживаемых технологий.

Представь что у тебя Linux (или Mac) и действуй исходя из этого.

(7) я вангую что он ставит не там и не той разрядности
(9) Там проблемы когда несколько разных версий платформы 1С стоят или ставили криво.
Можно совместить 8.1. 8.2 и 8.3 а вот разные 8.3 глючит.
Например если 8.3.16 и 8.3.15 ну или разрядность того.
(10) неа. Я подозреваю что надо ставить на сервере, а он пытается на клиенте. Ну и х86-64 и SysWOW64 - как бы противоречие, хотя там надо просто зарегать COM+-приложение
С учетом того,что стандартный обмен все равно передает xml-файл,то можно перейти на web-сервисы без проблем.
(12) это надо публиковать базу, а мало кто это хочет делать
(13) так надо опубликовать внутри локальной сети, не надо в глобальном интернете публиковать.
мне регистрация в службах компонентов всегда помогала
Нет, версия одна и запускаю на сервере. Проблема решилась перезапуском сервера 1С. Всем спасибо за участие.
Вроде COM-соединение возможно с базой на другой версии платформы 8.3 А OLE-соединение возможно?

(кстати на 16-ю версию платформы люди жалуются, нам сейчас пока запретили её ставить)

Панель управления\Все элементы панели управления\Администрирование\Службы компонентов\Компьютеры\Мой компьютер\Приложения COM+\CommCtrl\Роли\CreatorOwner\Пользователи\
Сюда добавить пользователей ОС сервера, под кем приходится запускать регламентные задания, а главное USR1CV8.

И лучше физически перезагрузить сервер сам компьютер.

(20) > И лучше физически перезагрузить сервер сам компьютер.
У меня все базы на 8.3.10.2466 (x86-64), только одна 8.3.14.1779 (x64) на диапазоне портов 16хх. Когда к ней подключаюсь в строке подключения к имени сервера дописываю ":1640". Даже вручную делаю команду C:\Windows\SysWOW64\regsvr32 "c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll", пишет: Успешно выполнено DllRtgisterServer в c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll. Но при этом все равно ошибка: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779).

(21) Я вот думаю сказать или нет что COM как и прочие приложения могут быть как x32 так и x64.

И короче регать думать надо что и откуда. И откуда и куда подключаться.
Ну не выйдет цыветочек и x32 не умеет с x64 через COM или OLE

Иногда сервер приложений занимает всю память и ее надо освободить.

Можно презапустить службу 1С, но это может привести к тому, что сеансы пользователей, которые работаю с данными, завершаться аварийно.

Есть возможность перезапустить рабочие процессы сервера приложений без заверешния работы пользователей.

это делает намного проще. В кластере устанавливаем порог допустимого объема памяти см. приложение.

+
Упустил главный момент необходимо поставить "Интервал превышения допустимого объема памяти __ секунд"

p.s. Работает как часы, версия платформы 8.2.15.310

Выдержка из документации:

Интервал перезапуска __ секунд

Интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.

Допустимый объем памяти __ KB

Устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.

Интервал превышения допустимого объема памяти __ секунд

Определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства, занимаемого рабочим процессом (см. предыдущий параметр), после которого выполняется автоматический перезапуск рабочего процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.

user745830; 1v7; Kom-off; Sergoninfostarru; sanches; Misanets; tolyan_ekb; MoshkovEV; JohnyDeath; i_lo; iov; sergiobargio1; Юрий ЛЛ; Andreyyy; AlX0id; Alex_Japanese_Student; adhocprog; + 17 – Ответить 5. Alex_Japanese_Student 443 31.05.12 10:59 Сейчас в теме

Наверно, не на всех версиях платформы это свойство ведет себя так, как описано в документации.
У нас на платформе 8.2.13.289 и .14.540 процессы продолжали жить с памятью, превышающей установленное пороговое значение, и при этом никакие сеансы пользователей не перемещались на другие процессы.

Методом пользуемся, когда нужно перезапустить рабочий процесс с зависшими фоновыми заданиями.
Все пользовательские сессии перебрасываются на другой рабочий процесс, а этот ("зависший") убивается в диспетчере задач (для этого нужно в его колонках вывести PID процесса, а в свойствах рабочего процесса 1С посмотреть этот самый PID). Сейчас проверил у себя , только один рабочий процесс, как сделать чтобы было больше ?, если завершу то точно все юзверы отключаться (6) Посмотрите в желто-оранжевой книжке по особенностям 1С в клиент-серверном варианте (6) hamlo_666,
В консоли администрирования: Кластеры-<ваш кластер>- Рабочие серверы-<ваш кластер>- Рабочие процессы - Добавить Изменять настройку рабочих процессов без последующего перезапуска службы 1С влечет за собой кучу проблем у пользователей, проверено на практике :). Поиграться конечно можно, но перезапуск службы в конечном итоге обязателен.

Вот нашел, начались сыпаться вот такие ошибки (УПП, в базе находилось примерно 200 пользователей):

1. При записи какого либо объекта, в данном примере, документа "Заявка на расходвание средств":
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП)
по причине:
Попытка получения неинициализированного значения параметра сеанса

2. При входе в систему сразу выдавала ошибку: "Таблица не найдена "Справочник.Пользователи". и кнопка "Завершить работу"

Раньше таких ошибок не возникало, началось именно после того, как мы добавили наживую рабочие процессы.
Ошибки возникали хаотично, беглый анализ показал, ошибки появляются у тех пользователей которых сервер начал перекидывать с одного процесса на другой распределяя нагрузку. В начале пытались выкидывать этих пользователей из базы и после того как они заходили заново ошибка уходила, но как оказалось не надолго. Помучавшись два дня, в конечном итоге, вырубили всех пользователей, добавили заново рабочие процессы, перезапустири службу и проблем больше не было.
И в инсрукции к серверу явно написано нужно перезапускать, но как всегда начинаешь их читать когда уже проблемы возникли.

Иногда сервер приложений занимает всю память и ее надо освободить.

Можно презапустить службу 1С, но это может привести к тому, что сеансы пользователей, которые работаю с данными, завершаться аварийно.

Есть возможность перезапустить рабочие процессы сервера приложений без заверешния работы пользователей.

Для этого в консоли сервера выбираем процесс, который занял больше всего памяти и открываем его свойства.

В свойствах процесса указываем Использование = Не использовать. Нажимаем ОК.

Без паники. Все сеансы пользователей автоматически перейдут на другие рабочие процессы. Проверено на практике (много раз).

Дожидаемся, пока процесс не завершится:

Примечание: сеанс Конфигуратора не переносится с процесса на процесс.

После этого повторяем обратную операцию. Открываем свойство остановившегося рабочего процесса, указываем Использование = Использовать.

Ждем. При первом подключении выделяется память:

Все. Память освободилась. Начинается новая жизнь.

Также можно настроить

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

это делает намного проще. В кластере устанавливаем порог допустимого объема памяти см. приложение.

+
Упустил главный момент необходимо поставить "Интервал превышения допустимого объема памяти __ секунд"

p.s. Работает как часы, версия платформы 8.2.15.310

Выдержка из документации:

Интервал перезапуска __ секунд

Интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.

Допустимый объем памяти __ KB

Устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.

Интервал превышения допустимого объема памяти __ секунд

Определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства, занимаемого рабочим процессом (см. предыдущий параметр), после которого выполняется автоматический перезапуск рабочего процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.

user745830; 1v7; Kom-off; Sergoninfostarru; sanches; Misanets; tolyan_ekb; MoshkovEV; JohnyDeath; i_lo; iov; sergiobargio1; Юрий ЛЛ; Andreyyy; AlX0id; Alex_Japanese_Student; adhocprog; + 17 – Ответить 5. Alex_Japanese_Student 443 31.05.12 10:59 Сейчас в теме

Наверно, не на всех версиях платформы это свойство ведет себя так, как описано в документации.
У нас на платформе 8.2.13.289 и .14.540 процессы продолжали жить с памятью, превышающей установленное пороговое значение, и при этом никакие сеансы пользователей не перемещались на другие процессы.

Методом пользуемся, когда нужно перезапустить рабочий процесс с зависшими фоновыми заданиями.
Все пользовательские сессии перебрасываются на другой рабочий процесс, а этот ("зависший") убивается в диспетчере задач (для этого нужно в его колонках вывести PID процесса, а в свойствах рабочего процесса 1С посмотреть этот самый PID). Сейчас проверил у себя , только один рабочий процесс, как сделать чтобы было больше ?, если завершу то точно все юзверы отключаться (6) Посмотрите в желто-оранжевой книжке по особенностям 1С в клиент-серверном варианте (6) hamlo_666,
В консоли администрирования: Кластеры-<ваш кластер>- Рабочие серверы-<ваш кластер>- Рабочие процессы - Добавить Изменять настройку рабочих процессов без последующего перезапуска службы 1С влечет за собой кучу проблем у пользователей, проверено на практике :). Поиграться конечно можно, но перезапуск службы в конечном итоге обязателен.

Вот нашел, начались сыпаться вот такие ошибки (УПП, в базе находилось примерно 200 пользователей):

1. При записи какого либо объекта, в данном примере, документа "Заявка на расходвание средств":
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП)
по причине:
Попытка получения неинициализированного значения параметра сеанса

2. При входе в систему сразу выдавала ошибку: "Таблица не найдена "Справочник.Пользователи". и кнопка "Завершить работу"

Раньше таких ошибок не возникало, началось именно после того, как мы добавили наживую рабочие процессы.
Ошибки возникали хаотично, беглый анализ показал, ошибки появляются у тех пользователей которых сервер начал перекидывать с одного процесса на другой распределяя нагрузку. В начале пытались выкидывать этих пользователей из базы и после того как они заходили заново ошибка уходила, но как оказалось не надолго. Помучавшись два дня, в конечном итоге, вырубили всех пользователей, добавили заново рабочие процессы, перезапустири службу и проблем больше не было.
И в инсрукции к серверу явно написано нужно перезапускать, но как всегда начинаешь их читать когда уже проблемы возникли.

Соединения с кластером и регламентный перезапуск рабочих процессов

Раздел поясняет влияние соединений с кластером на управление рабочими процессами.

Соединения кластера

Утилита администрирования кластера серверов позволяет посмотреть список соединений:

  • кластера в целом (ветка "Центральные серверы 1С:Предприятия 8.1/ <имя сервера>/ Кластеры/ <номер порта кластера>/ Соединения");
  • рабочего процесса (ветка "Центральные серверы 1С:Предприятия 8.1/ <имя сервера>/ Кластеры/ <номер порта кластера>/ Процессы/ <имя рабочего процесса>/ Соединения" или ветка "Центральные серверы 1С:Предприятия 8.1/ <имя сервера>/ Кластеры/ <номер порта кластера>/ Рабочие серверы/ <имя рабочего сервера>/ Процессы/ <имя рабочего процесса>/ Соединения");
  • информационной базы (ветка "Центральные серверы 1С:Предприятия 8.1/ <имя сервера>/ Кластеры/ Информационные базы/ <имя информационной базы>/ Соединения").

Среди соединений имеются:

  • пользовательские соединения (1С:Предприятие, Конфигуратор, COM-соединения, WS-соединение, Фоновое задание, Консоль кластера, COM-администратор)
  • служебные соединения (Планировщик заданий, Отладчик)

Пользовательские соединения относятся к информационной базе и видны в списке соединений:

  • своей информационной базы;
  • своего рабочего процесса;
  • кластера в целом.

Служебные соединения не относятся к конкретной информационной базе и видны в списках соединений:

  • своего рабочего процесса;
  • кластера в целом.

Служебных соединений "Планировщик заданий" может быть несколько. Они устанавливаются в процессе работы кластера, и их количество зависит от нагрузки на кластер и от выполняемых действий. Эти соединения использует не только планировщик фоновых и регламентных заданий, но и:

Разрыв соединения

  • если по инициативе пользовательского соединения на сервере не выполняется никакого действия, то соединение может быть разорвано всегда;
  • если в момент разрыва соединения соединение выполняет на сервере код на встроенном языке, то разрыв соединения возможен при переходе выполнения от одной строки кода на встроенном языке к другой;
  • если соединение выполняет запрос к базе данных, то для MS SQL Server и IBM DB2 1С:Предприятие предпринимает попытку прервать выполнение запроса сервером баз данных. Соединение будет разорвано, если пользователь базы данных, от имени которого сервер 1С:Предприятия выполняет обращение к базе данных, имеет соответствующие права, и СУБД готово выполнить функцию прекращения исполнения запроса;
  • в других случаях попытка принудительного разрыва пользовательского соединения может не привести к фактическому разрыву соединения.

Принудительный разрыв служебных соединений невозможен.

Выключение и остановка рабочего процесса

Каждый рабочий процесс, определенный в кластере, может быть выключен или включен. При запуске кластера запускаются только включенные процессы. В работающем кластере при помощи Утилиты администрирования кластера серверов или средств программного администрирования кластера можно включать и выключать рабочие процессы, а также их создавать и удалять. После включения рабочий процесс запускается, если он до этого не был запущен и был выключен.

После выключения запущенного рабочего процесса он останавливается не сразу, а только тогда, когда с ним не будет установлено ни одного пользовательского соединения. При этом новых пользовательских соединений с данным рабочим процессом устанавливаться не будет. Для обеспечения возможности остановки рабочего процесса даже в том случае, когда с ним еще установлены пользовательские соединения, в Утилите администрирования кластера серверов предусмотрен параметр "Выключенные процессы останавливать через. " в свойствах кластера, а в средствах программного администрирования кластера - свойство ExpirationTimeout объекта "Кластер серверов" (IClusterInfo).

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

Чтобы избежать аварийного завершения работы пользователей, можно предусмотреть в конфигурации анализ ситуации, когда рабочий процесс, с которым работает пользователь, оказался выключен. Для этого в глобальном контексте имеется метод "НеобходимостьЗавершенияСоединения". С его помощью конфигурация может отследить выключение рабочего процесса и оценить время, через которое выключенный процесс будет остановлен. В этом случае, например, пользователю может быть предложено перезапустить приложение.

Регламентный перезапуск рабочих процессов

Для минимизации отрицательных последствий фрагментации и утечки памяти в рабочих процессах может быть предусмотрен их автоматический перезапуск. В 1С:Предприятие встроена возможность автоматического перезапуска рабочих процессов через заданные интервалы времени. Для этого в Утилите администрирования кластера серверов предназначен параметр "Рабочие процессы перезапускать через. " в свойствах кластера, а в средствах программного администрирования кластера - свойство LifeTimeLimit объекта "Кластер серверов" (IClusterInfo). Если этот параметр отличен от 0, то для каждого рабочего процесса через заданное количество секунд после его запуска:

  • создается и запускается новый процесс;
  • текущий процесс выключается.

Это позволяет обеспечить автоматическое ограничение времени жизни рабочих процессов. Рекомендуется время, заданное параметрами LifeTimeLimit и ExpirationTimeout, связывать с длительностью технологического цикла конкретной информационной базы (сутки, неделя и т. д.).

  • установить время принудительной остановки рабочих процессов (свойство ExpirationTimeout объекта "Кластер серверов");
  • согласно установленным критериям выбрать рабочий процесс, который необходимо перезапустить;
  • запустить новый процесс;
  • выключить выбранный процесс;
  • после того, как выключенный процесс будет остановлен, удалить его из кластера.

Приведенный ниже пример кода позволяет установить время принудительной остановки рабочих процессов:

Следующий фрагмент кода является простым примером регламентного перезапуска рабочих процессов:

Читайте также: