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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.06.2022, 14:36   #1  
online
axm2017
Участник
 
1,938 / 317 (14) ++++++
Регистрация: 15.05.2017
Распараллеливание процессов и обмен инфомацией между ними D365
Есть такая задача
Чувак жмет кнопку на форме.
Далее
1. Запуск мега проверки с каким то расчетом
2. Диалог без каких то сильных опций (только комментарий) чтобы юзер подтвердил свое решение
3. Долгий процесс только после расчета из пункта 1 и возможно использующий информацию из него

Хочется ускорить работу для чего вынести в параллель 1 и 3
Но как потоку 3 понять что поток 1 все и снять информацию с него?
Юзаю runAsync

Последний раз редактировалось axm2017; 29.06.2022 в 15:12.
Старый 29.06.2022, 15:29   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
runAsync() возвращает объект типа System.Threading.Tasks.Task, у которого есть метод wait(). Так что можно логику из пункт 3 засунуть в основной класс (типа runBaseBatch), в начале исполнения заспавнить через runAsync логику из пункта 1, потом вывести диалог и потом, когда пользователь чего-то ответил, вызвать wait() для того объекта, который когда-то вернули из runAsync(). Ну и после этого запускать рассчетную логику из пункта 3.

Хотя я бы скорее batch multithreading попробовал бы использовать. Диалог запустить из класса-стартера, потом когда пользователь ответит - заспавнить три батча - один для 1, второй для той части 3, которая от 1 не зависит и третий для той части 3, которая от 1 зависит. При этом для третьего батча прописать зависимости от первых двух.
За это сообщение автора поблагодарили: axm2017 (5), gl00mie (3).
Старый 30.06.2022, 05:17   #3  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
пиши из 1 в табличку, а из 3 проверяй её время от времени
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: axm2017 (5), ТРЕНЕР (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
patrickmouwen: D365 F&O/Commerce interfacing via Azure API Management: My Best Practices Blog bot DAX Blogs 0 10.03.2022 02:47
Sumit Potbhare: Retail Warehousing | Wrap up | Approach to D365 for Commerce with Adv WH Mgmt Blog bot DAX Blogs 0 28.04.2021 13:12
patrickmouwen: How to Unlock Many Hidden D365 Retail Features! Blog bot DAX Blogs 0 13.05.2020 22:13
patrickmouwen: D365 Retail APIs Part III: How to use the Retail APIs from Power Automate (Flow) and Logic App Blog bot DAX Blogs 0 28.01.2020 02:15
patrickmouwen: D365 Retail APIs Part II: How to know exactly what happens inside D365 Retail Blog bot DAX Blogs 0 14.12.2019 01:17

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:54.