AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.04.2022, 16:54   #1  
axm2017 is offline
axm2017
Участник
 
1,760 / 293 (13) ++++++
Регистрация: 15.05.2017
runAsync и его использование
гляжу в класс TrvExpenseAsyncHelper
и наблюдаю массовое использование task -ов runasync (причем зачем то есть на форме и так) и прочее.
Как понимаю пришло на смену Thread и активно используется командой ретейла.
А есть какие то best practics и прочее по данной теме в Ax 365?
Если кто то использовал и заметил какие то особенности и может дать рекомендации буду рад.

Последний раз редактировалось axm2017; 14.04.2022 в 16:57.
Старый 15.04.2022, 12:37   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,894 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от axm2017 Посмотреть сообщение
гляжу в класс TrvExpenseAsyncHelper
и наблюдаю массовое использование task -ов runasync (причем зачем то есть на форме и так) и прочее.
Как понимаю пришло на смену Thread и активно используется командой ретейла.
А есть какие то best practics и прочее по данной теме в Ax 365?
Если кто то использовал и заметил какие то особенности и может дать рекомендации буду рад.
Мы несколько раз использовали. В целом - вполне работоспособен. Единственная рекомендация - всегда передавать туда callback method для того чтобы оттуда можно было бы exception и infolog вытащить и пользователям выдать (даже если все отлажено и ошибок в коде нет). Просто в отличие от батчей async-сесии умирают без каких-либо сообщений в логах. Если хоть что-то на экран с помощью callback не выведено, будут жалобы от пользователей в стиле "У нас оно иногда почему-то не работает".
Вообще мне кажется что runasync хорош тогда, когда надо сделать какую-то мелкую операцию (со временем исполнения не более 5 секунд), причем желательно с минимальным запаздыванием по сравнению с основной операцией. Если операция дольше 5 секунд длится или если ее можно минуты 2-3 подождать, то проще батч запустить и вместо runAsync этому батчу какую-то state information через таблицу с очередью операций передать.
За это сообщение автора поблагодарили: axm2017 (5), Logger (5), Vadik (1).
Старый 15.04.2022, 16:11   #3  
axm2017 is offline
axm2017
Участник
 
1,760 / 293 (13) ++++++
Регистрация: 15.05.2017
Спасибо за информацию.

на всякий случай накидаю сюда данных по этой теме для любознательных
https://docs.microsoft.com/ru-ru/dot...us-pattern-tap
Ну а в классе TrvExpenseAsyncHelper
неплохой пример с
WaitAll
+
интересен класс ERTaskUtils

Последний раз редактировалось axm2017; 15.04.2022 в 16:33.
За это сообщение автора поблагодарили: Vadik (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Использование "/" в параметрах API Sergey Petrov DAX: Программирование 2 03.08.2021 11:25
Использование выделенного сервера под AOS PlayingAlex DAX: Администрирование 2 13.06.2012 10:33
Использование номерных серий для формирования числовых полей Владимир Максимов DAX: Программирование 3 19.08.2011 09:17
использование forcepalceholders Eldar9x DAX: Программирование 14 23.10.2008 10:20
Использование основных средств в модуле Проект (4.0) Spider DAX: Функционал 8 29.08.2007 11:17

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:12.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.