Имя: Пароль:
1C
 
Как правильно завершать активные фоновые задания
0 ДНН
 
01.10.20
10:13
Клиент-серверная база. Нужно срочно выкинуть всех из базы и обновить конфигурацию базы данных.
1. Захожу в консоль кластера, включаю блокировку регламентных заданий для базы (если это не сделать, то они будут снова запускаться)
2. Захожу в список сеансов и убиваю там все сеансы, включая фоновые задания

Иногда конфигурация базы данных не обновляется с ошибкой, что есть активные сеансы фонового задания. При этом в списке сеансов его нет, но есть в списке соединений. Если его удалить из соединений (не сеансов!), то он тутже появляется снова.
Помогает только перезапуск службы сервера 1С.

А как правильно убивать активные фоновые задания, чтобы они в соединениях не зависали?
1 fisher
 
01.10.20
10:23
Да никак. С ними могут быть проблемы если они в этот момент висят на тяжелой синхронной операции (с той же БД). То есть соединение все равно ожидает ответа от БД и не прибивается,  пока не дождется. Разве что лезть в сиквел и прибивать нужные процессы там. Ну, это как я понимаю проблему.
Помню, для 7.7 была похожая жестокая убивалка. Даешь ей нужные доступы и она лезет в сиквел расстреливая всех там, потом лезет в открытые файлы на сервере и там тоже экстерминэйшн устраивает :)
2 fisher
 
01.10.20
10:34
Другими словами, проще дождаться завершения фоновых заданий после установки на блокировку новых. А если есть заведомо "тяжелые", то учитывать их расписание.
3 ДНН
 
01.10.20
11:03
А настройки регламентного задания в конфигураторе никак не могут на это влиять? Потому что не все задания зависают в соединениях
4 lEvGl
 
гуру
01.10.20
11:11
(3) да было там типа "Повторно запускать если не выполнилось до конца" - да / нет, и количество попыток, но будет ли он считать это нужным случаем, когда срубил через консоль, или нет - только попробовать и рассказать тут.
а так ерунда это все, задание должно доработать и сохранить все что делало, как и пользователь, чтобы проблем не было. с пользователем проще - он не может лопатить как не в себе документы или справочники, порождая десятки транзакций в секунду, поэтому вероятность свалить базу из за нарушения целостности очень небольшая, что не скажешь про фоновое
5 lEvGl
 
гуру
01.10.20
11:13
при этом если нельзя, но очень хочется, то можно
6 lEvGl
 
гуру
01.10.20
11:17
(4) по-моему пох ему на этот флаг, если принудительно консолью закрывать, насколько помню рубишь рубишь, а оно все запускается и запускается
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.