Имя: Пароль:
1C
1С v8
Отслеживание выполнения регламентного задания 1С Ут 10
0 aptomilov
 
23.06.22
20:34
привет всем Есть задача отслеживать каждые 25 секунд наличие файлов в папке и если файлы нашлись начать их грузить, но вот вопрос как сделать так что бы регламентное заново через  25 сек не начало их грузить. файлы могут грузиться до 5 минут
1 Garykom
 
гуру
23.06.22
20:42
почитай что то про многопоточное программирование
ну там семафоры и т.д.
2 Garykom
 
гуру
23.06.22
20:44
рядом перед загрузкой создавай файлик определенного имени как флаг загрузки
по окончании удаляй
не начинать загрузку если есть стоп файл

другой вариант просто переименовывать файл исходный перед загрузкой
в результате исходного нет - загрузка не начнется параллельно
3 aptomilov
 
23.06.22
20:53
спасибо
4 Azverin
 
24.06.22
08:13
(3) а как вам такой вариант: проверка фонового задания на активность?
кусок кода в качестве "рыбы":

ПараметрыОтбора = Новый Структура("Наименование", "ИмяФоновогоЗадания");
        МассивФЗ = ФоновыеЗадания.ПолучитьФоновыеЗадания(ПараметрыОтбора);
        Если МассивФЗ.Количество() Тогда
            ФЗ=МассивФЗ[0];
            Если ФЗ.Состояние=СостояниеФоновогоЗадания.Активно Тогда
5 SiAl-chel
 
24.06.22
08:16
(4) Да. Я тоже так проверяю при старте нового экземпляра задания.
6 Мультук
 
гуру
24.06.22
08:26
(0)

Я конечно извиняюсь, но разве поле "ключ" в регламентном задании не гарантирует уникальность только одного потока для данного регламентного?
7 Azverin
 
24.06.22
08:43
(6) тоже верно.