Бөлісу құралы:


Фондық жұмыстарды әзірлеу бойынша ұсыныстар

Осы Power Platform Жақсы құрастырылған сенімділікті тексеру тізімі ұсынысына қолданылады:

RE:05 Қателерді өңдеуді және өтпелі ақауларды өңдеуді енгізу арқылы жұмыс жүктемеңіздің тұрақтылығын күшейтіңіз. Компонент ақаулары мен өтпелі қателерді өңдеу үшін шешімге мүмкіндіктер жасаңыз.

Бұл нұсқаулық фондық жұмыстарды әзірлеуге арналған ұсыныстарды сипаттайды. Фондық тапсырмалар пайдаланушы әрекеттесуін қажет етпестен автоматты түрде орындалады. Көптеген қолданбалар пайдаланушы интерфейсінен (UI) тәуелсіз жұмыс істейтін фондық тапсырмаларды қажет етеді.

Фондық тапсырмалардың кейбір мысалдары пакеттік тапсырмаларды, қарқынды өңдеу тапсырмаларын және жұмыс үрдістері сияқты ұзақ орындалатын процестерді қамтиды. Қолданба жұмысты бастайды және пайдаланушылардың интерактивті сұрауларын өңдейді.

Мысалы, қолданбаға қорытынды жасау және пайдаланушылар жүктеп салатын құжаттардан көңіл-күй мен негізгі ойларды шығару қажет болуы мүмкін. AI әрекеттерін орындау және қорытынды мен негізгі нүктелерді дерекқорға сақтау үшін фондық тапсырманы орындауға болады. Пайдаланушы процестің аяқталуын күтудің қажеті жоқ. Басқа мысал ретінде, пайдаланушы шығыс шағымын өңдейтін және оны бекітуге жіберетін фондық жұмыс процесін бастайтын шығыс шағымын жіберуі мүмкін. Пайдаланушы басқа шығыс шағымын беруді жалғастыра алады немесе фондық тапсырма орындалған кезде қолданбаны қалдыра алады. Фондық тапсырма аяқталғаннан кейін ол шығыс шағымының бекітуге жіберілгенін растау үшін пайдаланушыға электрондық хат жібереді.

Фондық тапсырмалар қол жетімділікті жақсартатын және интерактивті жауап беру уақытын азайтатын қолданба UI жүктемесін азайтуға көмектеседі.

Негізгі дизайн стратегиялары

Фондық тапсырма ретінде тағайындалатын тапсырманы таңдау үшін тапсырманың пайдаланушы әрекетінсіз іске қосылатынын және UI тапсырманың аяқталуын күтуінің қажеттігін қарастырыңыз. Пайдаланушыдан немесе UI іске қосылғанда күтуді талап ететін тапсырмалар әдетте сәйкес фондық тапсырмалар болып табылмайды.

Фондық жұмыс түрлері

Фондық жұмыстардың кейбір мысалдары:

  • Транзакциялар тізбегін орындау сияқты ұзақ уақытты қажет ететін ресурстарды қажет ететін тапсырмалар.

  • Түнгі деректерді жаңарту немесе жоспарланған өңдеу сияқты пакеттік тапсырмалар.

  • Тапсырысты орындау немесе қамтамасыз ету қызметтері мен жүйелері сияқты ұзақ жұмыс үрдістері.

  • Бекітулер сияқты асинхронды ынтымақтастықты қажет ететін жұмыс үрдістері.

  • Өңдеу үшін тапсырманы қауіпсізірек орынға тасымалдайтын сезімтал деректерді өңдеу. Мысалы, құпия деректерді веб-бағдарламада өңдегіңіз келмеуі мүмкін. Оның орнына деректерді қорғалған жадқа рұқсаты бар оқшауланған фондық процеске тасымалдау үшін Gatekeeper үлгісі сияқты үлгіні пайдалануға болады.

Триггерлер

Фондық тапсырмаларды келесілер арқылы бастаңыз:

Оқиғаға негізделген триггерлер

Әрекет фондық тапсырманы бастайтын оқиғаға негізделген шақыруды іске қосады. Оқиғаға негізделген триггерлердің мысалдары мыналарды қамтиды:

  • UI немесе басқа тапсырма фондық тапсырманы іске қосады және орындалған әрекеттен деректерді фондық жұмысқа жібереді. Мысалы, пайдаланушы шығындар туралы шағымды пішін арқылы жібереді және пішін мәліметтері өңдеу үшін фондық тапсырмаға жіберіледі.

  • UI немесе басқа тапсырма сақтаудағы мәнді сақтайды немесе жаңартады. Фондық тапсырма сақтау орнын бақылайды және қосылатын жаңа мәндер немесе бар мәндердің өзгертілуі сияқты өзгерістерді анықтайды және сол өзгертуге негізделген фондық тапсырманы іске қосады.

  • UI немесе басқа тапсырма HTTPS URI немесе веб-қызмет ретінде ашылатын API сияқты соңғы нүктеге сұрау жасайды. Сұрау бөлігі ретінде UI немесе тапсырма фондық тапсырма талап ететін деректерді тасымалдайды. Соңғы нүкте немесе веб-қызмет деректерді енгізу ретінде пайдаланатын фондық тапсырманы шақырады.

Оқиғаға негізделген триггерлердің басқа мысалдары қолданбада жіберілген пішінді, деректер қоймасы ішіне қосылған жаңа жолды, деректер қоймасы ішінде өзгеретін өріс мәнін, белгілі бір тақырыбы бар электрондық поштаны немесе келген белгілі бір жіберушіні қамтиды. кіріс жәшігін және файлды сақтау орнына жүктеп салу.

Жұмыс ағындарын ретке келтіру және қажетсіз іске қосулар санын азайту үшін триггер шарттарын пайдаланыңыз. Іске қосу шарттары жұмыс процесі іске қосылмас бұрын орындалуы керек бірнеше шарттарды орнатады.

Ескертпе

Жұмыс үрдісінің бөлігі ретінде жұмыс процесін бастайтын деректер көзі өзгертсеңіз, шексіз циклдарды болдырмау үшін триггер шарттарын қолданғаныңызға көз жеткізіңіз. Мысалы, қолданба Microsoft Dataverse кесте жолындағы өрістерді өзгертуі мүмкін және жұмыс процесі сол өзгертілген өрістерге негізделген қосымша сұрауларды орындап, сол жолды әрі қарай өзгертеді. Басқа өрістер емес, қолданба арқылы өзгертілген өрістер жаңартылған кезде ғана жұмыс процесін бастау үшін іске қосу шарттарын пайдаланыңыз.

Кестеге негізделген триггерлер

Таймер фондық тапсырманы бастайтын кестеге негізделген шақыруды іске қосады. Кестеге негізделген триггерлердің мысалдары мыналарды қамтиды:

  • Фондық тапсырма күнделікті немесе апта сайын орындалады және әрекеттер жинағын орындайды.

  • Бөлек процесс немесе қолданба уақыт кідірісінен кейін немесе белгілі бір уақытта фондық тапсырманы шақыратын таймерді бастайды.

Жоспарға негізделген шақыруға сәйкес келетін тапсырмалардың басқа мысалдарына пакеттік өңдеу процедуралары (тұтынушылар үшін олардың соңғы әрекетіне негізделген қатысты өнімдер тізімдерін жаңарту сияқты), әдеттегі деректерді өңдеу тапсырмалары (жинақталған нәтижелерді жасау), күнделікті деректерді талдау кіреді. есептер, деректерді сақтауды тазалау және деректер сәйкестігін тексеру.

Нәтижелерді қайтару

Фондық тапсырмалар пайдаланушы интерфейсінен немесе фондық тапсырманы шақырған процестен бөлек процесте асинхронды түрде орындалады. Ең дұрысы, фондық жұмыстар өрт және ұмыт операциялар. Олардың орындалу уақыты UI немесе қоңырау шалу процесіне әсер етпейді, яғни қоңырау шалу процесі тапсырмалардың аяқталуын күтпейді. UI және қоңырау шалу процесі тапсырманың қашан аяқталғанын анықтай алмайды.

Орындалу барысын немесе аяқталуын көрсету үшін шақырушы тапсырмамен байланысу үшін фондық тапсырма қажет болса, келесідей механизмді енгізу керек:

  • Бұл мәнді бақылай немесе тексере алатын UI немесе қоңырау шалушы тапсырмасы үшін қолжетімді жадқа күй көрсеткішінің мәнін жазыңыз. Фондық тапсырма қоңырау шалушыға қайтарылатын басқа деректер бір жадқа орналастырылуы мүмкін.

  • UI немесе қоңырау шалушы күй ақпаратын алу үшін қол жеткізе алатын фондық тапсырмадан API немесе соңғы нүктені көрсетіңіз. Жауап фондық тапсырма қоңырау шалушыға қайтаратын деректерді қамтуы мүмкін.

  • Фондық тапсырманы күйге немесе пайдаланушы интерфейсіне өңделген деректерге жауап беру үшін теңшеңіз.

Үйлестіру

Фондық тапсырмалар күрделі болуы мүмкін және оларды орындау үшін бірнеше тапсырмалар қажет. Бұл сценарийлерде тапсырманы бірнеше тұтынушылар орындай алатын кішірек дискретті қадамдарға немесе қосалқы тапсырмаларға бөлу әдеттегідей. Көпқадамды тапсырмалар тиімдірек және икемдірек, себебі жеке қадамдарды бірнеше жұмыста жиі қайта пайдалануға болады. Сондай-ақ қадамдардың ретін қосу, жою немесе өзгерту оңай.

Бірнеше тапсырмалар мен қадамдарды үйлестіру қиын болуы мүмкін, бірақ шешіміңізді бағыттайтын үш жалпы үлгі бар:

  • Тапсырманы бірнеше қайта пайдалануға болатын қадамдарға бөліңіз. Қолданба өңделетін ақпарат бойынша әртүрлі күрделіліктегі әртүрлі тапсырмаларды орындау үшін қажет болуы мүмкін. Мұндай қолданбаны іске асырудың қарапайым, бірақ икемді емес тәсілі бұл өңдеуді монолитті модуль ретінде орындау болып табылады. Бірақ бұл тәсіл кодты қайта өңдеу, оны оңтайландыру немесе қолданба басқа жерде бірдей өңдеу бөліктерін қажет ететін болса, оны қайта пайдалану мүмкіндіктерін азайтуы мүмкін.

  • Тапсырмаға арналған қадамдарды реттеуді басқарыңыз. Қолданба көптеген қадамдардан тұратын тапсырмаларды орындауы мүмкін, олардың кейбіреулері қашықтағы қызметтерді шақыруы немесе қашықтағы ресурстарға қол жеткізуі мүмкін. Кейде жеке қадамдар бір-бірінен тәуелсіз болады, бірақ олар тапсырманы орындайтын қолданба логикасы арқылы реттеледі.

  • Сәтсіз тапсырма қадамдары үшін қалпына келтіруді басқарыңыз. Қадамдардың біреуі немесе бірнешеуі орындалмаса, бағдарлама бірге соңында дәйекті әрекетті анықтайтын қадамдар қатарын орындайтын жұмысты болдырмауы қажет болуы мүмкін.

Төзімділік туралы ойлар

Қолданба үшін сенімді қызметтерді қамтамасыз ету үшін тұрақты фондық тапсырмаларды жасаңыз. Фондық тапсырмаларды жоспарлағанда және жобалағанда келесі тармақтарды ескеріңіз:

  • Фондық тапсырмалар деректерді бүлдірмей немесе қолданбаға сәйкессіздікті енгізбестен қайта іске қосуды ұқыпты өңдеуі керек. Ұзақ орындалатын немесе көп сатылы тапсырмалар үшін бақылау нүктелерін пайдаланыңыз. Тапсырмалардың күйін тұрақты жадта немесе кезектегі хабарлар ретінде сақтау үшін бақылау нүктелерін пайдаланыңыз және әрекеттің күтпеген сәтсіздігі жағдайында қайталау логикасын конфигурациялаңыз.

  • Фондық тапсырмалармен байланысу үшін кезектерді пайдаланған кезде, бағдарламалар әдеттегіден жоғары жүктеме кезінде тапсырмаларға жіберілетін сұрауларды сақтау үшін кезектер буфер ретінде әрекет ете алады. Тапсырмалар бос емес кезеңдерде UI-ді қуып жетуі мүмкін және қайта іске қосу пайдаланушы интерфейсін блоктамайды.

Масштабтау және өнімділік мәселелері

Фондық тапсырмалар жүйе жүктелген кезде қолданбаны блоктамауы немесе жұмысты кешіктірмеу үшін жеткілікті өнімділікті ұсынуы керек. Әдетте, фондық тапсырмаларды орналастыратын есептеу даналарын масштабтау кезінде өнімділік жақсарады. Фондық тапсырмаларды жоспарлағанда және жобалағанда, масштабтауға және өнімділікке қатысты келесі тармақтарды ескеріңіз:

  • Фондық тапсырмалар пайдаланушыға фондық тапсырмалардың нәтижелері ұсынылса, пайдаланушы тәжірибесіне әсер етуі мүмкін. Мысалы, фондық тапсырмалар пайдаланушыдан хабарландыруды күтуді, бетті жаңартуды немесе тапсырманың күйін қолмен тексеруді талап етуі мүмкін. Бұл әрекеттер пайдаланушы әрекеттесуінің күрделілігін арттырып, пайдаланушы тәжірибесіне теріс әсер етуі мүмкін. Электрондық пошта немесе Microsoft Teams арқылы хабарландыру жіберу немесе пайдаланушы интерфейсінде күй жаңартуларын тексеру мүмкіндігін қоса, пайдаланушы интерфейсіне кері жауап берудің балама нұсқаларын қарастырыңыз. Шығын пішіндерін жіберу мысалында, пайдаланушы интерфейсіне күйге жауап берудің орнына, сізде олардың күйі және жаңартуды іске қосу мүмкіндігі бар барлық жіберілген шығыс пішіндерін тізімдейтін қолданбада бет болуы мүмкін.

  • Фондық тапсырмалар деректерді үндестіру және процестерді үйлестіру үшін қиындықтар тудыруы мүмкін, әсіресе фондық тапсырмалар бір-біріне немесе басқа деректер көздеріне тәуелді болса. Мысалы, фондық тапсырмалар деректер сәйкестігі мәселелерін, жарыс жағдайларын, тығырықтарды немесе күту уақыттарын өңдеуі мүмкін.

  • Жүктеме кезінде өнімділіктің жоғалуын болдырмау үшін өңдеу тізбегінің бір нүктесі кедергі тудырмайтындай логиканы енгізуге болады. Қолданба мен фондық тапсырмалар сүйенетін жұмыс процесі әрекеттерінің, сақтаудың және басқа қызметтердің максималды өткізу қабілеті сияқты басқа шектеулерді қарастырыңыз.

Tradeoff: фондық тапсырмалар жүйеге көбірек құрамдас бөліктер мен тәуелділіктерді енгізеді, бұл шешімнің күрделілігі мен қызмет көрсету шығындарын арттырады. Мысалы, фондық тапсырмалар бөлек бақылау қызметін және қайталау механизмін қажет етуі мүмкін.

Power Platform жеңілдету

Келесі бөлімдер фондық тапсырмаларды орналастыру, іске қосу, конфигурациялау және басқару үшін пайдалануға болатын қызметтерді сипаттайды.

Power Automate

Power Automate бұлттық ағындар бұл бұлтта орындалатын жұмыс процестері. Олар белгілі бір адамнан электрондық поштаның келуі сияқты оқиға арқылы іске қосылатын автоматтандырылған ағындар болуы мүмкін. Олар мобильді құрылғыдан жіберетін командаңызға еске салу сияқты түймені басу арқылы басталатын лезде ағындар болуы мүмкін. Олар белгілі бір уақытта орындалатын жоспарланған ағындар болуы мүмкін, мысалы, SharePoint немесе дерекқорға күнделікті деректерді жүктеп салу. Сондай-ақ, қайталанатын тапсырмаларды жұмыс үстелінен немесе мобильді құрылғыдан автоматтандыруға болады.

Өткізу мүмкіндігіне, сұрауға, параллельдікке, циклге және дебатқа қатысты автоматтандырылған, жоспарланған және лезде ағындар шектерімен танысыңыз. Жұмыс процесін жобалау кезінде осы шектеулерді ескергеніңізге көз жеткізіңіз.

Қателерді өңдеуді жоспарлау арқылы тәуекелді азайтыңыз.

Microsoft Dataverse

Microsoft Dataverse есептелген бағандар мен жинақтар:

  • Формула бағандары а Microsoft Dataverse кестеде есептелген мәнді көрсететін бағандар.

  • Есептелген бағандар бизнес процесінде пайдаланылатын қолмен есептеулерді автоматтандырады. Мысалы, сатушы мүмкіндікке көбейтілген мүмкіндіктен алынған болжамды кіріске негізделген мүмкіндіктің өлшенген кірісін білгісі келуі мүмкін. Немесе тапсырыс белгілі бір сомадан жоғары болса, олар автоматты түрде жеңілдікті қолданғысы келеді. Есептелген баған қарапайым математикалық амалдардың нәтижесі сияқты мәндерді немесе үлкенірек немесе if-else сияқты шартты әрекеттерді қамтуы мүмкін.

  • Жиынтық бағандар негізгі бизнес метрикаларды бақылау арқылы пайдаланушыларға іс деректерін анықтауға көмектеседі. Жиынтық баған белгілі жолға қатысты жолдар бойынша есептелетін жиынтық мәнді қамтиды. Бұл электрондық хабарлар және кездесулер сияқты тұрақты кестелерді және әрекет кестелерін қамтиды. Күрделі сценарийлерде деректерді жолдар иерархиясы бойынша біріктіруге болады. Әкімші немесе теңшеуші ретінде жиынтық бағандарды код жазуынсыз Power Apps ішіндегі теңшеу құралдарымен анықтауға болады.

Фондық әрекеттер асинхронды түрде өңделетін Dataverse сұрауларды жібере алады. Сұрау орындалған кезде қосылымды сақтағыңыз келмегенде, фондық әрекеттер пайдалы.

Плагиндер өңдеу кезінде көтерілген нақты оқиғаға жауап ретінде орындалатын теңшелетін оқиға өңдеушілері Microsoft Dataverse деректер операциясы.

Microsoft Dataverse сонымен қатар тиімдірек деректер архитектурасына қол жеткізу және клиенттік жұмыс жүктемесін төмен кодты плагиндер арқылы азайту үшін қуатты шешім ұсынады. Бұл қосылатын модульдер Dataverse ішінде белгілі бір пәрмендер жинағын орындайтын, сервер жағында жұмыс істейтін және жекелендірілген оқиға өңдеушілерімен іске қосылатын қайта пайдалануға болатын нақты уақыттағы жұмыс үрдістері.

Сенімділікті тексеру парағы

Ұсыныстардың толық жинағын қараңыз.