Имя: Пароль:
1C
1С v8
Некорректная работа регламентного задания
0 jango_mango
 
01.10.20
22:28
Доброго времени суток!

Суть вопроса. Есть файловая база 1С 8.3. В конфе создал обработку. Задача: регламентное задание должно запускать обработку каждые 5 минут в конкретный момент времени, а именно когда количество минут кратно 5.
Настроил расписание таким образом как на скриншоте.

Вопрос: почему фоновое задание начинает выполнятся на пол минуты позже?
Почему следующий запуск отсчитывается от времени окончания работы, а не от начала. Получается за сутки набежит неплохое такое расхождение. Можно как-то настроить, чтобы отсчитывало от времени начала?

Может в файловых базах криво работает. Или просто баг моей версии платформы. Есть предположения?

https://yadi.sk/i/rDygGb-jBeKtsg
1 bolder
 
01.10.20
22:54
(0) Для файловых все плохо.
2 Галахад
 
гуру
02.10.20
06:52
Настрой что бы регламент работал всегда. А отправлял в удобное тебе время.
3 jango_mango
 
02.10.20
09:03
(2) А это кстати мысль. Только интересно, какой минимальный интервал можно установить. Если не ошибаюсь, 1С не рекомендует использовать интервал меньше минуты. Буду тестировать. Если получится раз в 5с будет сносно.
4 ДенисЧ
 
02.10.20
09:15
В файловых меньше минуты не работает.
Да и вообще в файловых точное время не гарантируется...
5 dka80
 
02.10.20
09:53
Вопрос из любопытства: какой-такой чудный бизнес-процесс реализован на 1С, что запуск требуется именно равно через 5 минут? Я, надеюсь, не управление сервоприводом, какого-нибудь аппарата исскуственной вентиляции легких?
6 jango_mango
 
02.10.20
10:06
(4) Прискорбно(
7 jango_mango
 
02.10.20
10:08
(5) Задача на самом деле вообще не типичная для 1С. Мне нужно получать котировки с биржи и время очень важный фактор. Видимо придётся подтянуть другой язык)
8 ДенисЧ
 
02.10.20
10:12
Тут в телеге вчера было обсуждение на подобную тему... Не ты ли это был?
9 jango_mango
 
02.10.20
10:13
(8) Нет, а что за канал?
10 Garykom
 
гуру
02.10.20
10:35
(7) onescript
11 ДенисЧ
 
02.10.20
10:44
(9) Если не ошибаюсь, то https://t.me/osminog1s
12 jango_mango
 
02.10.20
12:49
(10) воу, интересная вещь. спасибо
13 fisher
 
02.10.20
12:53
В фоновом можно реализовать почти человеческий sleep. На этом несложно построить бесконечное задание с четкими временными отсечками активности и без нагрузки процессора.
Причем прямо в БСП даже где-то засунуто. На инфостарте есть статья посвященная способам организации sleep в 1С и там в комментариях есть описание и ссылки.
14 fisher
 
02.10.20
12:58
В двух словах - там sleep моделируется с использованием ОжидатьЗавершения() с таймаутом. Так как на ожидании завершения фонового по указанному таймауту платформа честно спит.
15 dka80
 
02.10.20
13:14
Процедура Пауза(Секунд) Экспорт
    
    ТекущийСеансИнформационнойБазы = ПолучитьТекущийСеансИнформационнойБазы();
    ФоновоеЗадание = ТекущийСеансИнформационнойБазы.ПолучитьФоновоеЗадание();
    
    Если ФоновоеЗадание = Неопределено Тогда
        Параметры = Новый Массив;
        Параметры.Добавить(Секунд);
        ФоновоеЗадание = ФоновыеЗадания.Выполнить("твоймодуль_ОбщегоНазначенияСервер.Пауза", Параметры);
    КонецЕсли;
        
    Попытка
        ФоновоеЗадание.ОжидатьЗавершения(Секунд);
    Исключение
        Возврат;
    КонецПопытки;
    
КонецПроцедуры
16 fisher
 
02.10.20
13:27
(15) Похоже что оно.
17 shuhard
 
02.10.20
13:28
(7)[. Видимо придётся подтянуть другой язык)]
поставь клиент-серверную 1С , по трудозатратам съэкономишь =)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой