|   |   | 
| 
 | А как сейчас модно выполнять в УФ код с задержкой? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Сияющий Асинхраль 04.10.21✎ 16:36 | 
        Задачка такая. Производится запрос к сайту. Ответ приходит не сразу. Когда придет полный ответ предсказать не могу, может 20 секунд, может больше. Поэтому надо обращаться за результатом выполнения запроса через некие промежутки времени и анализировать ответ - является ли ответ полным, или частичным. В общем-то вариант:
 ПодключитьОбработчикОжидания() работает. Но меня несколько смущает, что поскольку в процедуру, которая находится в обработчике параметры передать нельзя (а без параметров - точных адресов ответа не обойтись), то приходится параметры хранить в реквизитах формы обработки, откуда производится запрос. Поэтому, собсно и вопрос: существуют ли другие красивые варианты? | |||
| 1
    
        ДенисЧ 04.10.21✎ 16:37 | 
        Внешняя компонента со слипом...     | |||
| 2
    
        Сияющий Асинхраль 04.10.21✎ 16:39 | 
        (1) Вряд ли получится. Клиент вряд ли захочет ставить ВК в достаточно сильнозагруженную базу :-(     | |||
| 3
    
        Garykom гуру 04.10.21✎ 16:41 | 
        (0) я бы сказал насчет микросервиса но пуканы разорвет     | |||
| 4
    
        ДенисЧ 04.10.21✎ 16:41 | 
        (2) А что её ставить-то?     | |||
| 5
    
        Жан Пердежон 04.10.21✎ 16:43 | 
        (0) модно? Асинх     | |||
| 6
    
        polosov 04.10.21✎ 16:43 | 
        (3) Пощади     | |||
| 7
    
        Garykom гуру 04.10.21✎ 16:43 | 
        (0) задачу уточни
 запрос к сайту это некое фоновое или это в юзер интерфейсе интерактивно? | |||
| 8
    
        Kassern 04.10.21✎ 16:43 | 
        (0) с чем работаете? Если это что-то типа APIшки, где делается запрос, на выходе токен, а по этому токену результат через какое то время, то проще рег заданиями это дело настроить и регистром для токенов.     | |||
| 9
    
        Сияющий Асинхраль 04.10.21✎ 16:45 | 
        (8) Юзер делает запрос интерактивно, а вот ответ получает ХЗ когда, но опять таки юзер. По получению ответа, запросы прекращаются...     | |||
| 10
    
        Сияющий Асинхраль 04.10.21✎ 16:46 | 
        (8)->(7)     | |||
| 11
    
        youalex 04.10.21✎ 16:49 | 
        ФЗ (насчет модности не уверен)     | |||
| 12
    
        boozin 04.10.21✎ 16:53 | 
        "ПодключитьОбработчикОжидания()работает. Но меня несколько смущает, что поскольку в процедуру, которая находится в обработчике параметры передать нельзя (а без параметров - точных адресов ответа не обойтись)" так создай константы, справочники, регистры сведений (по вкусу) и бери в обработке ожидания данные оттуда...     | |||
| 13
    
        Сияющий Асинхраль 04.10.21✎ 16:57 | 
        (12) Константы, справочники - еще хуже. А вот регистр - думаю. Может и правда стоит...     | |||
| 14
    
        ptiz 04.10.21✎ 17:07 | 
        (13) Если между разными формами не надо обмениваться данными, то хватит и реквизитов формы. Если претят реквизиты - можно во временное хранилище поместить.     | |||
| 15
    
        Сияющий Асинхраль 04.10.21✎ 17:10 | 
        (14) У временного хранилища надо будет как-то передавать адрес :-( , а это по сути опять реквизит формы... Просто вместо нескольких строковых параметров будет один...     | |||
| 16
    
        Сияющий Асинхраль 04.10.21✎ 17:16 | 
        (14) Хотя ты прав :-) , пожалуй, я себя уже почти уговорил :-) - уже начал думать, что, дескать, пусть будет. Погляжу еще регистр с измерением Пользователь и ресурсами нужные данные, но то, что работает - вроде как работает неплохо.     | |||
| 17
    
        Garykom гуру 04.10.21✎ 17:17 | 
        (9) тогда ПодключитьОбработчикОжидания() самое простое и правильное
 только параметры храни в структуре одной в одном реквизите а не куче | |||
| 18
    
        mikecool 04.10.21✎ 17:20 | 
        настроить очередь сообщений, это можно, как и сервисы на ГО     | |||
| 19
    
        Сияющий Асинхраль 04.10.21✎ 17:37 | 
        (17),(18) Ok. Спасибо за советы!!!     | |||
| 20
    
        ptiz 04.10.21✎ 17:43 | 
        (15) Адресом будет УИД формы - в этом случае хранилище существует до тех пор, пока жива форма.     | |||
| 21
    
        lodger 04.10.21✎ 17:50 | 
        (0) модно - делать фоновое выполнение кода. но так даже 1с ленится делать, когда речь идёт о вебсервисах типа ЧестногоЗнака.     | |||
| 22
    
        Сияющий Асинхраль 04.10.21✎ 17:55 | 
        (20) Да. Пожалуй это лучший вариант. Спасибо.     | |||
| 23
    
        Garykom гуру 04.10.21✎ 18:14 | 
        (22) если у тебя есть форма и обработчик ожидания то нафик не надо временное хранилище     | |||
| 24
    
        kortun 04.10.21✎ 18:18 | 
        (21) это в мечтах разработчик платформы модно, на практике при количестве сеансов выше тысячи все эти фоновые задания вешают рп-хосты, всякие модные слипы через скрипты грузят диски и создают очереди.
 Единственный рабочий вариант оказался на пинге | |||
| 25
    
        VladZ 05.10.21✎ 11:55 | 
        (0) ОбщегоНазначенияБТС.Пауза(ВремяВСек).     | |||
| 26
    
        Kassern 05.10.21✎ 13:08 | 
        (25) а там в кишках ФоновоеЗадание.ОжидатьЗавершения(Секунд)
 А в СП по этому дело написано: Использование в версии: Доступен, начиная с версии 8.1. Не рекомендуется использовать, начиная с версии 8.3.13. Описание изменено в версии 8.3.15. | |||
| 27
    
        lodger 06.10.21✎ 09:22 | 
        (24) тысячи внедрений никогда не дотянут до "количестве сеансов выше тысячи". да и над стабильностью скрытых\фоновых\регламентных операций постоянно идёт работа. а может достаточно произвести тюнинг настроек кластера, чтобы при дефиците ресурсов стартовал новый инстанс... ах да - это же появилось в новых редакциях платформы. ваше ворчание устарело.     | |||
| 28
    
        fisher 06.10.21✎ 09:41 | 
        (26) > Не рекомендуется использовать, начиная с версии 8.3.13
 Так это потому, что они его заменили на ОжидатьЗавершенияВыполнения(). А с ним, как я понимаю, тот же самый фокус провернуть можно. Я бы как раз на серверной паузе сабж и делал. | |||
| 29
    
        fisher 06.10.21✎ 09:45 | 
        Эх. А если бы еще на клиента асинхронную паузу завезли, то можно было бы вообще через Ждать сделать...     | |||
| 30
    
        Kassern 06.10.21✎ 09:52 | 
        (28) точно, в новой БСП там уже ОжидатьЗавершенияВыполнения )     | |||
| 31
    
        fisher 06.10.21✎ 09:53 | 
        (24) То, что выполнение всех отчетов и полнотекстовый поиск в динамических списках через фоновые идет - значит никого не смущает. А несчастный запрос к сайту в фоне сразу кластер положит.     | |||
| 32
    
        kortun 06.10.21✎ 10:59 | 
        (31) так все и начинают, сначала пауза в запросе к сайту, потом в РЗ, потом еще куда-нибудь.
 И потом смотришь на количество фоновых и офигиваешь | |||
| 33
    
        kortun 06.10.21✎ 11:01 | 
        (27) конечно устарело, я же ретроград, а то что тормоза запуска фоновых и регламентных при отсутствии пользователей дикие до сих пор и на партнерском форуме об этом знают, это я из головы придумал.     | |||
| 34
    
        lodger 06.10.21✎ 11:08 | 
        (33) "тормоза запуска фоновых и регламентных при отсутствии пользователей дикие до сих пор" - проблемы файловых баз как-то мало связаны с "количестве сеансов выше тысячи".     | |||
| 35
    
        fisher 06.10.21✎ 11:15 | 
        (32) Странная аргументация. А как еще организовывать асинхронное выполнение, как не через фоновые? Если это проблема - то надо ее анализировать. Если это не проблема - то надо просто перестать офигивать. И что такое "тормоза запуска фоновых"? Все вот знают и даже на партнерке обсуждают, а я как-то проспал.     | |||
| 36
    
        fisher 06.10.21✎ 11:18 | 
        А! Дошло. Речь про "холодные старты" фоновых при отсутствии пользователей в базе? Пускай это будет моей самой большой проблемой.     | |||
| 37
    
        lodger 06.10.21✎ 13:05 | 
        (36) когда пользаков больше, чем в ларьке, всегда обратная проблема - вечно живые сеансы, которые приходится пинками разгонять, если надо взять монопольный доступ.     | |||
| 38
    
        lodger 06.10.21✎ 13:05 | 
        (37) а потом в догонку кучка тикетов - шо ви таки мешаете приносить гешефт по ночам.     | |||
| 39
    
        lodger 06.10.21✎ 13:06 | 
        (38) несмотря на согласованный и трижды опубликованный график работ.     | |||
| 40
    
        kortun 08.10.21✎ 17:01 | 
        (35) пауза и асинхронное выполнение вместе не так часто встречаются, я бы сказал совсем редко встречаются и 1С вместо нормальной паузы предлагает решение, которое для паузы не совсем подходит, особенно на больших нагрузках. И оправдание их, что на мелких работает, а на крупных можно и кластер подкрутить странно выглядит, особенно со стороны бизнеса. Им не всегда понятно, почему в других языках нет такой проблемы, а в 1с нужно фоновые задания стартовать для этой цели.     | |||
| 41
    
        pechkin 08.10.21✎ 18:00 | 
        В 21 релизе бущ асинхронные http запросы     | |||
| 42
    
        ДедМорроз 08.10.21✎ 22:05 | 
        (41) наконец-то,давно пора,а то,все асинхронное,а то,что у всех асинхронное из коробки,у 1с синхронное.
 Правда,асинхронность у 1с только на клиенте,на сервер асинхронность не завозили. Фоновое задание прекрасно по таймауту ждет само себя. | |||
| 43
    
        sitex naïve 08.10.21✎ 22:14 | 
        (3) А что нет то вещай. В бСП вроде есть уже ,  но все же хочется раздирающий пуканы увидеть.     | |||
| 44
    
        sitex naïve 08.10.21✎ 22:14 | 
        (43) + cod     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |