Имя: Пароль:
1C
1С v8
Каким образом можно удалить фоновое задание?
, ,
0 эцп
 
05.03.13
13:37
Каким образом программно можно удалить фоновое задание зависшее со статусом "Задание завершено с ошибками"?
1 ДенисЧ
 
05.03.13
13:40
Если оно завершено, зачем его удалять?
2 эцп
 
05.03.13
13:40
У меня в базе ночью с помощью Регламентного задания запускаются вспомогательные процедуры, но по каким-то причинам они не отрабатывают. В журнале регистрации ошибок нет.
3 Cube
 
05.03.13
13:41
(0) КонсольЗаданий.epf с ИТС тебе поможет во всем разобраться.
4 эцп
 
05.03.13
13:41
(1) Я считаю, если оно завершено, нечего ему делать в базе. Если завершилось, пускай высвобождает ресурсы.
5 эцп
 
05.03.13
13:42
(3) а каким образом я могу завершить задания (пока под рукой нету КонсольЗаданий.epf)?
6 ДенисЧ
 
05.03.13
13:42
(4) А его нет в базе. Это только след. Перезапусти агент сервера, сам увидишь.
7 Defender aka LINN
 
05.03.13
13:43
(4) У тебя есть доказательства присутствия задания в базе?
8 эцп
 
05.03.13
13:43
Подучаю задания с помощью Массив ФЗ = ФоновыеЗадания.ПолучитьФоновыеЗадания().
Потом обхожу полученный массив.

Какую функцию нужно вызвать, чтобы удалить фоновое задание?
9 эцп
 
05.03.13
13:44
(8) -> (4)
10 эцп
 
05.03.13
13:45
Пробовал вот так:
   ФоновоеЗадание.Отменить();
   ФоновоеЗадание.ОжидатьЗавершения(5);

Получаю ошибку:
{Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (ОжидатьЗавершения): Выполнение одного или нескольких заданий завершилось с ошибкой
11 Defender aka LINN
 
05.03.13
13:51
(8) Вот компьютер, который выдернули из розетки. Как его выключить?
12 эцп
 
05.03.13
13:54
(11) Не "Как его выключить?", а как убрать его из комнаты, чтобы он место не занимал?
13 Maxus43
 
05.03.13
13:56
(12) да нет его уже, что вы хотите? компьютор спёрли из комнаты, вы только понимте что он там был
14 Defender aka LINN
 
05.03.13
13:57
(12) Нет. Именно "как выключить"
15 эцп
 
05.03.13
13:58
(14) Нет. Именно "как удалить, чтобы не занимал место"
16 Defender aka LINN
 
05.03.13
14:00
(15) Я не понял, кто кому задачу ставит?
Хорошо. У тебя есть квадрат на полу, где написано мелом "тут был комп". Как убрать его из комнаты, чтобы он место не занимал?
17 Maxus43
 
05.03.13
14:00
(15) какое место? давай уж по существу. Состояние какое у этих фоновых?
18 Sammo
 
05.03.13
14:01
СостояниеФоновогоЗадания (BackgroundJobState)
Свойства:
Активно (Active)
Завершено (Completed)
ЗавершеноАварийно (Failed)
Отменено (Canceled)

Описание:
Состояние фонового задания.
См. также:
ФоновоеЗадание, свойство Состояние

Если завершено (или завершено аварийно), то ресурсы не используются.
Чтобы ушло из списка - перезапусти сервер 1с.
19 эцп
 
05.03.13
14:05
(13) Вот это что такое?
http://i51.fastpic.ru/big/2013/0305/e6/a657bcce13cd01ff3bb352fa73d380e6.png
http://i53.fastpic.ru/big/2013/0305/44/fc365981d309838898d9215e2e817444.png

(17) я писал выше "Задание завершено с ошибками"
20 эцп
 
05.03.13
14:07
(16) В том-то и дело, что не "тут был комп", а "тут стоит комп и на нем мигает лампочка «Авария»"
21 Maxus43
 
05.03.13
14:07
(19) это ёперный пистец, и о не связан с нормальной работой 1с. перезапускай севрер.
Может код кривой в задании? вызывает утечку памяти?
22 Maxus43
 
05.03.13
14:11
что за задание? каждые 15 секунд стартует и видимо такая ошибка, что не снимает соединение, а-ля "зависший" сеанс, когда сервак пыхтит и пыхтит над заданием, хотя клиент давно забил
23 эцп
 
05.03.13
14:11
(18) В том-то и дело, что используются. Дело в том, что эта база вспомогательная: она ночью через COM-соедиение коннектится к другим базам и запускает регламентные задания. При этом она не "отпускает" COM-соединение в случае аварийного завершения фонового задания. Вот у меня весь кластер "засран" COM-соединениями и фоновыми заданиями.
24 Maxus43
 
05.03.13
14:13
код в студию, принудительно отпускай ком соединение в задании. Почему ошибки? в попытки заворачивай подключения и действия, в исключениях - сброс кома
25 эцп
 
05.03.13
14:14
(21) Да, с этим придется разобраться.


Идей, как завершить фоновые задания ни у кого не появилось? У меня вопрос не про отладку фонового задания
26 Maxus43
 
05.03.13
14:14
(25) такое ты завершишь только перезапуском службы
27 эцп
 
05.03.13
14:42
(26) Не только, например, через консоль администрирования 1С можно завершить
28 эцп
 
05.03.13
16:05
Всё? Идеи закончились?
29 Maxus43
 
05.03.13
16:06
(28) ну разорви соединения обработкой. в чем трабл?
30 Maxus43
 
05.03.13
16:07
Коннектор = Новый COMОбъект("V81.COMConnector");
Сервер = Коннектор.ConnectWorkingProcess("TestServer");
   
// Аутентифицироваться с административными правами в нужной базе.
Сервер.AddAuthentication("Администратор", "");
   
// Создать объект нужной информационной базы.
ИнформационнаяБаза = Сервер.CreateInfoBaseInfo();
ИнформационнаяБаза.Name = "Test_Base";
   
// Получить соединения базы.
СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза);
   
// Разорвать соединения клиентских приложений.
Для Каждого Соединение Из СоединенияБазы Цикл
   Сервер.Disconnect(Соединение);
   
КонецЦикла;

только проверяй чтоб это было фоновое
31 эцп
 
05.03.13
16:12
(30) Спасибо за пример, но мне бы фоновое задание завершить
32 Maxus43
 
05.03.13
16:14
(31) дак отладчиком погляди, Для Каждого Соединение Из СоединенияБазы Цикл

там тоже фоновые должны быть
33 эцп
 
05.03.13
16:17
(32) Да, правильная идея. Я почему-то думал, что можно как-то через ФоновыеЗадания управлять зависшими фоновыми заданиями
34 Maxus43
 
05.03.13
16:31
это аналог (27) по сути
35 GANR
 
05.03.13
16:51
(6)(7) +1. (0)(8) А из списка ФоновыеЗадания.ПолучитьФоновыеЗадания() оно удаляется само где-то через полчасика.
36 GANR
 
05.03.13
16:55
+(35) Т. е. работу (30) платформа делает самостоятельно. Зачем это надо? У меня вот, например, фоновые и регламентные задания запускаются по несколько штук за минуту - и ничего.
37 Maxus43
 
05.03.13
16:56
ты скрины видишь (19)? видишь время? они висят день целый, в СЕАНСАХ, а не в ФоновыеЗадания.ПолучитьФоновыеЗадания().
38 Maxus43
 
05.03.13
16:57
задание кривое, выяснили уже, тут вопрос впринципе исчерпан, будут смотреть код
39 GANR
 
05.03.13
17:14
(38) Аааа... Это уже другой компот.