Имя: Пароль:
1C
 
Как принудительно завершить фоновое задание?
0 1сПупс
 
02.06.26
14:51
Коллеги, доброго дня!
Удаляю его из Консоли кластеров, оно снова появляется...
1 Волшебник
 
02.06.26
14:57
ФоновоеЗадание.Отменить()
2 X Leshiy
 
02.06.26
15:09
(0) Сперва поставь запрет на запуск регл. заданий в свойствах базы
3 ЕRPe
 
02.06.26
16:14
100% помогает перезапуск службы сервера, часто помогает установки галки "Проблемные процессы завершать через" и например 30 или 60 секунд.
4 Fynjy
 
02.06.26
20:13
ФоновоеЗадание.СтойРазДва();
5 DrZombi
 
гуру
03.06.26
06:12
(0) Стоит понять, откуда оно появляется. :)
6 1сПупс
 
03.06.26
07:41
(4) не нашел такого метода)

(2) cтоит.

(3) это не могу себе позволить. много кто работает на этой службе.

(5) запустил руками из GUI кнопкой "Выполнить сейчас"

(1)накидал простую обработку, благодарю!


&НаСервере
Процедура ОтменитьНаСервере()
	Структура = Новый Структура("Состояние", СостояниеФоновогоЗадания.Активно);
	МассивФЗ = ФоновыеЗадания.ПолучитьФоновыеЗадания(Структура);
	Для каждого ФЗ Из МассивФЗ Цикл
	
		ФЗ.Отменить();
		Сообщить(СтрШаблон("Фоновое задание %1 отменено",ФЗ.Наименование));
	
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура Отменить(Команда)
	ОтменитьНаСервере();
КонецПроцедуры
7 Гипервизор
 
03.06.26
07:58
(6) Если бы всегда было так просто. В списке фоновых проблемного задания может и не быть. А вот в консоли администрирования будут висеть сеанс и соединение.
8 Мультук
 
гуру
03.06.26
08:49
(0)

УТ11.5, ЕРП 2.5 ?
9 1сПупс
 
03.06.26
10:52
(8) +,УТ11.5
10 LuckyStar
 
03.06.26
11:45
Найти в консоли кластера рабочий процесс где фоновое крутится и выключить процесс. Запустится новый рабочий процесс, сеансы переедут на него, а подвисшее соединение будет убито вместе со старым процессом.
11 Radion
 
03.06.26
14:24
(0) бывает такое. если юзеров нет, до блокировку регламентных и Блокировку начала сеансов, и затем обновляю данные.
Также помогает перезаупск службы.
12 Гипервизор
 
03.06.26
14:39
(10) 👍
13 Мультук
 
гуру
03.06.26
16:21
(0)
>>+,УТ11.5
>>оно снова появляется

P.S.
Далее моё имхо (пишу по памяти).

Так было, увы, задумано.

см НеоперативнаяОчередьЗаданий

Суть в том, что УТ11.5/ЕРП2.5 считает, что фоновые,
которые разбирают всякие "Неоперативные очереди заданий" должны работать всегда.
А присматривает за ними, чтобы они не падали и не филонили,  еще одно фоновое - "Управляющий поток".
Все эти фоновые следят друг за другом и друг-друга поднимают.

Итого, очередь заданий это важно, а чего ты там хочешщь - не особо :-)

P.P.S.
Я так и не нашёл или не увидел "волшебное слово" или параметр сеанса, чтобы это всё не запускалось.
Это иногда нужно для отладки и всякого.
14 DrZombi
 
гуру
04.06.26
06:23
(6) А, ну тогда всё тривиально.

1. Сделать тайминг, т.е. фоновое задание выполняется 1 час и закрывается. Вне зависимости от завершения.
2. Смириться, и ждать, поку-до завершится. (у 1С не так много рычагов по завершению заданий.)

3. Изменить алгоритм выполнения фонового задания, ведь одно фоновое, может запускать другие фоновые.
При этом выстраивая свой алгоритм так, что бы оно не зависало намертво, выставляя для подзаданий тайминги выполнения :)

... дерзай, оптимизацию кода :)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший