|   |   | 
| 
 | Всегда ли вызов метода ФоновоеЗадание.Отменить() должен завершать фоновое задание? | ☑ | ||
|---|---|---|---|---|
| 0
    
        TormozIT гуру 21.08.19✎ 16:06 | 
        Иногда замечал, что вызов метода ФоновоеЗадание.Отменить() (например в консоли заданий) не завершает фоновое задание и оно продолжает выполняться и завершается успешно. Замечали вы подобное поведение? Каким образом внутри платформы работает метод Отменить()? Сохраняет ли он флаг необходимости прервать фоновое задание при первой следующей возможности?     | |||
| 1
    
        mistеr 21.08.19✎ 16:10 | 
        Иногда просто возможности прервать может не оказаться.     | |||
| 2
    
        sitex naïve 21.08.19✎ 16:11 | 
        (0) Да постоянно замечаю в той же БУХ3. А что делать . они продолжают выполняться до конца. Смирился .     | |||
| 3
    
        rphosts 21.08.19✎ 16:26 | 
        (0) вроде бывает такое, но у меня мала статистика. Не связано с тем, что открыта явная/неявная транзакция?     | |||
| 4
    
        Cyberhawk 21.08.19✎ 17:01 | 
        (1) Очевидно же что прервется на очередной строке кода (команде интерпретатору)     | |||
| 5
    
        TormozIT гуру 21.08.19✎ 17:23 | 
        (4) В том то и дело, что наблюдается другое поведение, как я описал в (0).     | |||
| 6
    
        Вафель 21.08.19✎ 17:35 | 
        по идее конечно должно текущий запрос рубить и отменять. но сделали как сделали | |||
| 7
    
        Cyberhawk 21.08.19✎ 17:36 | 
        (5) Я так понял поведение можно описать "команда отмены молча игнорируется".     | |||
| 8
    
        TormozIT гуру 21.08.19✎ 17:37 | 
        (7) Да     | |||
| 9
    
        Cyberhawk 21.08.19✎ 17:38 | 
        Ставил эксперименты, когда в сеансе ФЗ выполнение кода поставлено на паузу (отладчик стоит в точке останова), а из другого сеанса послана команда отмены этого ФЗ (предполагаем что у пользователя посылающего команду есть право администрирования или мы перешли в привилегированный режим)?
 И возобновляем выполнение кода через разные промежутки времени: через 5, 10, 60 секунд. | |||
| 10
    
        Cyberhawk 21.08.19✎ 17:38 | 
        Возможно команда отмены "теряется" если за некий промежуток времени выполнение кода не перешло к очередной строке?     | |||
| 11
    
        Cyberhawk 21.08.19✎ 17:39 | 
        Также интересно записать цикл в одну строку, внутри которого писать в ЖР диагностические сообщения.
 И посмотреть доходит ли до конца выполнение такого цикла, либо команда отмены рубит сразу. | |||
| 12
    
        TormozIT гуру 21.08.19✎ 23:24 | 
        (10) Да. Вполне вероятно. И далее возникает логичная мысль - для интерактивного прерывания фонового задания надо запускать еще одно фоновое задание, которое будет в течение некоторого времени слать команду отмены с частотой например раз в секунду и по завершению возвращать результат отмены - успех/неуспех. А далее в свою очередь возникает мысль - а почему в платформе этого не сделали (например результатом и параметром метода Булево Отменить(Число СколькоСекундПытаться))?     | |||
| 13
    
        TormozIT гуру 22.08.19✎ 06:58 | 
        (9) Нет. Исследований пока не проводил. Показалось, что здесь должны быть специалисты, которые могли уже провести такие исследования и поделиться опытом.     | |||
| 14
    
        sitex naïve 22.08.19✎ 08:13 | 
        (10) Возможно и не теряется, а висит в ожидания выполнения. И до ходит когда фон.зд выполнилось.
 (11) Я примерно такое пытался делать при: 1) Запросах напрямую к SQL из 1С , записью в ЖР в ФЗ, в ЖР ничего попадет даже после выполнения ФЗ.+ Стал замечать что если после того как отмену посылаешь в Фз может тупо в Сеансах зависнуть и тут только reboot службы. | |||
| 15
    
        TormozIT гуру 25.08.19✎ 09:48 | 
        Провел эксперименты на 8.3.13 серверной. Сеанс фонового задания вроде бы всегда сразу завершается, а соединение завершается при первой возможности. Т.е. в проведенных опытах не возникло необходимости в повторной отправке команды "Отменить" фоновому заданию. Но скорее всего я просто не нащупал нужные условия для воспроизведения ситуации, когда фоновое задание все таки завершается успешно.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |