|
Перенос фонового задания на новый рабочий процесс | ☑ | ||
---|---|---|---|---|
0
August
20.06.16
✎
14:14
|
Дано:
8.3.7.1860 Консолидация на обычных формах фоновое задание длительностью несколько часов Рабочие процессы живут своей жизнью и при перезапуске перекидывают на вновь запущенные все что угодно, только не висящее на них фоновое задание. Кто-то сталкивался? Это такое особенное поведение платформы? Или кривые руки? Есть ли пути обхода? Давайте порассуждаем? :) |
|||
1
Aleksey
20.06.16
✎
14:15
|
а разве что то перекидывается?
|
|||
2
Necessitudo
20.06.16
✎
14:17
|
Ну таки вполне может. Правда начнется все сначала)
|
|||
3
August
20.06.16
✎
14:18
|
(1) может я ошибаюсь, но по моему пользователь этого не замечает при интерактивной работе.
Кроме того, не понятно почему сервер вообще гасит рабочий процесс, если у меня не установлено значение в настройках: убивать по превышению через столько то секунд (ну или как то так) |
|||
4
August
20.06.16
✎
14:18
|
висит фоновое, есть соединение с СУБД, какого Х он его прибил?
|
|||
5
Карупян
20.06.16
✎
14:19
|
убить процесс
|
|||
6
August
20.06.16
✎
14:19
|
(2) как вариант думал хотя бы так. т.е. отслеживать КАК завершилось фоновое и если хреново - то запускать его снова, так?
|
|||
7
Карупян
20.06.16
✎
14:19
|
Гасить процессы по таймайту - это ЗЛО, 1С так очень не рекомендует
|
|||
8
August
20.06.16
✎
14:21
|
(7) так я и написал, что я ничего не гашу, у меня по умолчанию специально везде нули. вот только серверу плевать, он их перезапускает неведомым образом, когда ему приспичило
|
|||
9
August
20.06.16
✎
14:23
|
точнее не так. перезапускает то он по превышению памяти, например, только есть ситуация:
сервер посчитал, что ему рабочих процессов не хватает, создает новый, через 5 мин например запускается фоновое, вешается на этот новый рпхост, через час работы первый рпхост становится не нагружен и сервак решает, что ему хватит одного процесса и гасит нафиг второй, на котором в это время висело фоновое... бывает и по другому, вариаций много, суть одна |
|||
10
faramund
20.06.16
✎
14:34
|
(0) Фоновые задания не перебрасываются. Если процесс выключился, напрмиер по превышению памяти, но на нем работает только фоновое задание, оно доработает до конца, в случае если не настроено принудительное заверщение процесса, после чего процесс будет убит менеджером.
(1) Перекидываются, например клиентские сеансы не находящиеся в серверном вызове. (8) Нули это тоже ограничение, только в % от доступной памяти. Без ограничения -1, насколько я помню. Почитайте документацию, там подробно описано. (9) Нормальное поведение, лишний ненагруженный процесс никому не нужен. |
|||
11
Aleksey
20.06.16
✎
14:36
|
(3) Я всегда думал что при простое просто создается новое. А если процесс рабочий, то 1С ждет его завершения, а после завершения уже "перекидывает" но новый
|
|||
12
Aleksey
20.06.16
✎
14:36
|
(10) Ну т.е. в рабочим состоянии никто никуда не перекидывает
|
|||
13
faramund
20.06.16
✎
14:47
|
(11) При простое нет необходимости что-то создавать.
Детально описано все например тут http://its.1c.ru/db/v837doc#bookmark:cs:TI000000047, про рабочие процессы раздел 2.1.7.3.3 |
|||
14
August
20.06.16
✎
14:58
|
(13) за ссылку спасибо, читаю
>> Если процесс выключился, напрмиер по превышению памяти, но на нем работает только фоновое задание, оно доработает до конца, в случае если не настроено принудительное заверщение процесса, после чего процесс будет убит менеджером. т.е. если установлено "допустимый объем памяти", но "выключенные процессы останавливать через" стоит "0", то фоновое ДОЛЖНО жить и рпхост просто так сам по себе отвалиться не должен. так? даже если производительность не упадет в ноль из-за немерянных нагрузок фонового задания на сервер. так?) |
|||
15
faramund
20.06.16
✎
15:05
|
(14) Да, как только процесс достигнет предела памяти насчнется отсчет времени, как только время отсчитанное превысит указанное в интервале превышения доступного объема памяти, процесс будет выключен, но фоновое в нем будет жить до момента своего завершения.
|
|||
16
faramund
20.06.16
✎
15:08
|
(15) поэтому иногда приходится следить за такими процессами в которых остались фоновые задания и при выедании ими памяти в ноль убивать вручную, попутно разбираяся почему они так много кушают)
|
|||
17
August
20.06.16
✎
15:17
|
ну вот и гугл соглашается с вами, что у большинства проблемы как раз зависшие фоновые, а у меня проблема обратная)
пока в итоге: 1. т.к. у меня "выключенные процессы останавливать через" установлено не в ноль, можно попробовать поиграться с этим 2. возможно имеет смысл ловить статус выполнения фонового и если завершилось плохо, то запустить его вновь. пусть сначала, но это лучше чем ничего. еще мысли есть у кого? |
|||
18
faramund
20.06.16
✎
15:53
|
(17) Останавливать думаю не стоит, если нет выедания памяти.
Посмотри что за фоновое задание такое, которое работает так долго. Возможно его код надо оптимизировать. Про статус завершения: тут надо действовать согласно логики решения, в каких-то случаях нужен перезапуск, в каких-то случая перезапуск не нужен. |
|||
19
August
20.06.16
✎
16:32
|
(18) да задание то я знаю какое) сам его и создал) там расчет безумный идет за год
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |