| 
    
        
     
     | 
    
    
  | 
Регламентные задания в файловой базе | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Likons    
     19.02.21 
            ✎
    16:04 
 | 
         
        День добрый !
 
        Помогите советом пожалуйста ) Есть файловая база , есть регламентное задание которое под конкретным пользователем должно выполняться каждую секунду - две. В общем то оно даже отрабатывает , но вот с таймером беда : вместо двух секунд , которые стоят в расписании , оно выполняется каждые 35-60 секунд , всегда по разному , как ему захочется ) Можно ли это как починить или в файловом варианте регламентные задания мертвы ?(  | 
|||
| 
    1
    
        Garykom    
     гуру 
    19.02.21 
            ✎
    16:08 
 | 
         
        (0) Другие задания, общая очередь     
         | 
|||
| 
    2
    
        Likons    
     19.02.21 
            ✎
    16:11 
 | 
         
        (1) всего одно задание есть (
 
        собственно , не буду партизанить база представляет себя админку телеграмм бота досталась по наследству , автор неизвестен ) всего одно рег задание метод гетапдейт с апи телеги (  | 
|||
| 
    3
    
        Likons    
     19.02.21 
            ✎
    16:12 
 | 
         
        легенда гласит , что раньше работало нормально. Но это не точно (     
         | 
|||
| 
    4
    
        Cthulhu    
     19.02.21 
            ✎
    16:16 
 | 
         
        "есть файловая база"  это продакшн? коротый на клиент-сервер не будет переводиться?
 
        если на оба вопроса ответ "да" - то отрубай нахрен регламентное, а на робо-юзера вешай запуск по обработке ожидания.  | 
|||
| 
    5
    
        Garykom    
     гуру 
    19.02.21 
            ✎
    16:18 
 | 
         
        (3) Почитай про особенность регламентных/фоновых в файловых базах и подумай что поменялось     
         | 
|||
| 
    6
    
        dka80    
     19.02.21 
            ✎
    16:18 
 | 
         
        Уже обсуждалось не раз: в файловом варианте точность запуска регламентных заданий не гарантируется     
         | 
|||
| 
    7
    
        Likons    
     19.02.21 
            ✎
    16:19 
 | 
         
        (4) к сожалению , это продакшен , но перенос его на клиент - сервер не планируется ( у клиента все плохо с ресурсами на сервере. За обработчик ожидания - спасибо , ща попробую )     
         | 
|||
| 
    8
    
        hhhh    
     19.02.21 
            ✎
    16:26 
 | 
         
        (7) ну сами понимаете, запускать регламентные задания раз в секунду - это дебилизм. Запускайте хотя бы раз в 5-10 минут.     
         | 
|||
| 
    9
    
        Serg_1960    
     19.02.21 
            ✎
    16:32 
 | 
         
        (3) "легенда гласит" - что, серьёзно, запускалось каждую секунду-две? Легенды врут. Я, правда сказать, давно уже не пользуюсь, но когда этим баловался, то платформа регламентные задания обрабатывала один раз в минуту.     
         | 
|||
| 
    10
    
        ДенисЧ    
     19.02.21 
            ✎
    16:33 
 | 
         
        "Легенда гласит" (тм), что в файловой базе раз в секунду ты регламенты не запустишь. Там вроде не меньше минуты     
         | 
|||
| 
    11
    
        Likons    
     19.02.21 
            ✎
    16:33 
 | 
         
        решение нашлось )
 
        Убрал рег задание и сделал через обработчик ожидания - заработало нормально ) ну , насколько это было возможно в текущих условиях ) спасибо за советы , (4) тебе отдельное спасибо )  | 
|||
| 
    12
    
        ДенисЧ    
     19.02.21 
            ✎
    16:33 
 | 
         
        (6) Она нигде не гарантируется. Даже в Госстрахе.     
         | 
|||
| 
    13
    
        Serg_1960    
     19.02.21 
            ✎
    16:44 
 | 
         
        (9) Упс, стоп, я соврал, память подвела. Это "по умолчанию" раз в минуту регламентные запускаются - константа конфигурации ИнтервалДляОпросаРегламентныхЗаданийВФайловомВарианте отвечает за частоту опроса. Чисто теоретически, в платформе интервал времени указывается в секундах с точностью до 1/10 секунды, но не гарантируется фактический интервал исполнения.     
         | 
|||
| 
    14
    
        valerivp    
     21.02.21 
            ✎
    16:27 
 | 
         
        (2) не надо часто
 
        см яндекс телеграм лонгпулинг  | 
|||
| 
    15
    
        ДедМорроз    
     21.02.21 
            ✎
    19:53 
 | 
         
        (13)там в зависимости от платформы разные способы запуска.
 
        На старых платформах в сеансе пользователя работал обработчик ожидания,который выполнял проверку и запускал регламенты. В новых платформах,фоновые задания запускаются в отдельном потоке,но нужно понимать,что если код запустил фоновое задание,то пока оно не завершится,то никакой регламент не запустится,а запуска фоновых заданий везде полно.  | 
|||
| 
    16
    
        valerivp    
     22.02.21 
            ✎
    01:48 
 | 
         
        (2)
 
        СтруктураПараметров = Новый Структура; Если ЗначениеЗаполнено(ДанныеБота.Смещение) Тогда СтруктураПараметров.Вставить("offset", ДанныеБота.Смещение + 1); // Проверь этот параметр КонецЕсли; СтруктураПараметров.Вставить("timeout", 60); // Проверь этот параметр СтрокаJSON = ТелеграмAPI.ВыполнитьМетод(ДанныеБота, "getUpdates", СтруктураПараметров, Перечисления.ТелеграмСпособыЗапросов.Простой); ... // Инициализация ХТТП соединения Соединение = Новый HTTPСоединение("api.telegram.org",,,, , 60 /* Проверь этот параметр */, ЗащищенноеСоединение());  | 
|||
| 
    17
    
        Serg_1960    
     22.02.21 
            ✎
    10:55 
 | 
         
        (15) Вы правы, но я бы хотел уточнить:
 
        Каждое из перечисленных приложений выполняет собственные фоновые задания. Если приложение инициировало несколько фоновых заданий, то выполняются они последовательно, в порядке поступления. А регламентные задания выполняет только одно из запущенных приложений. Выполняет оно их после того, как выполнит собственные фоновые задания. При этом автоматическая обработка очереди регламентных заданий проводится раз в минуту. Чтобы платформа могла определить, какое из запущенных приложений будет исполнять регламентные задания, мы добавили новый параметр командной строки - AllowExecuteScheduledJobs. С помощью этого параметра также можно принудительно переназначить функцию исполнения регламентных заданий другому приложению. [Реализовано в версии 8.3.3.641]  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |