Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Microsoft Fabric számítási feladatok fejlesztési készletében található monitorozási központ a központosított monitorozási központ. A monitorozási központot hálófelhasználók számára tervezték az elemek háttérfeladatainak nyomon követésére. További információ: A figyelési központ használata.
Háttérrendszer
Ez a szakasz bemutatja, hogyan állíthat be háttérbeli implementációt a monitorozási központhoz.
JobScheduler A tulajdonság definiálása az elemjegyzékben
A feladattámogatás engedélyezéséhez az elemnek meg kell adnia a támogatott feladatok típusait. Adja hozzá a JobScheduler tulajdonságot az elemjegyzékfájlhoz. A JobScheduler tulajdonság engedélyezi a háló által felügyelt feladatokat az elemekhez.
Az alábbi táblázat áttekintést nyújt a támogatott JobScheduler definíciós tulajdonságokról:
| Tulajdonság | Leírás | Lehetséges értékek |
|---|---|---|
OnDemandJobDeduplicateOptions |
Beállítja az igény szerinti cikkfeladatok deduplikációs beállítását. |
-
None: Ne deduplikálja a feladatot. - PerItem: Győződjön meg arról, hogy ugyanahhoz az elemhez és feladattípushoz csak egy aktív feladat fut. - PerUser: Győződjön meg arról, hogy ugyanahhoz a felhasználóhoz és elemhez csak egy aktív feladat fut. |
ScheduledJobDeduplicateOptions |
Beállítja az igény szerinti cikkfeladatok deduplikációs beállítását. |
-
None: Ne deduplikálja a feladatot. - PerItem: Győződjön meg arról, hogy ugyanahhoz az elemhez és feladattípushoz csak egy aktív feladat fut. - PerUser: Győződjön meg arról, hogy ugyanahhoz a felhasználóhoz és elemhez csak egy aktív feladat fut. |
ItemJobTypes |
A megadott tulajdonságokkal rendelkező feladattípusok listája. |
-
Name: A feladattípus neve, amelyet a független szoftverszállító (ISV) teljes mértékben testre szab. |
Feladat-számítási feladatok API-iinak implementálása
A feladatokkal való integrációhoz a számítási feladatnak implementálnia kell a Feladatok API-kat a Swagger specifikációjában meghatározott módon.
A három háló API a feladatokhoz kapcsolódik:
A feladatpéldány indítása
Végpont:POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}
Ez az API egy feladat végrehajtásának kezdeményezésére van meghívva.
-
Válasz: Az API-nak egy állapotot
202 Acceptedkell visszaadnia, amely azt jelzi, hogy a feladatot a rendszer sikeresen ütemezte.
Feladatpéldány állapotának lekérése
Végpont:GET /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}
A Fabric lekérdezési mechanizmussal követi nyomon a feladatpéldány állapotát. Ezt az API-t percenként hívjuk meg, amíg a feladatpéldány folyamatban van az állapotának ellenőrzéséhez. A lekérdezés leáll, ha a feladat befejeződött, akár sikeresen, akár hiba miatt.
Válasz: Az API-nak az aktuális feladatpéldány-állapottal együtt egy állapotot kell visszaadnia
200 OK. A válasznak tartalmaznia kell a feladat állapotát, a kezdési és befejezési időpontokat, valamint a hiba részleteit, ha a feladat sikertelen volt.Támogatott feladatállapotok:
NotStartedInProgressCompletedFailedCancelled
Fontos: Még ha a feladat meghiúsul is, ennek az API-nak állapotot
200 OKés feladatállapototFailedkell visszaadnia.
Feladatpéldány lemondása
Végpont:POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}/cancel
Hívja meg ezt az API-t egy folyamatban lévő feladatpéldány megszakításához.
-
Válasz: Az API-nak az aktuális feladatpéldány-állapottal együtt egy állapotot kell visszaadnia
200 OK. A válasznak tartalmaznia kell a feladat állapotát, a kezdési és befejezési időpontokat, valamint a hiba részleteit, ha a feladat meghiúsult.
További információ
Feladat-holtleíró száma:
A Fabric platform "halott levélként" jelöl meg egy feladatot, ha az nem indul el 2 órán belül.
Példa implementálásra
Ezeknek az API-knak a példamegvalósítását lásd a mintatárházban található JobsControllerImpl.cs.
Előtétprogram
Ez a szakasz bemutatja, hogyan állíthat be előtérbeli implementációt a monitorozási központhoz.
Feladat futtatása a Háló felhasználói felületén
Miután a háttérrendszer elemeibe integrálta a feladatokat, a felhasználók megkezdhetik a feladatok futtatását.
A felhasználók két lehetőséggel futtathatnak feladatokat a Hálóban:
- Felügyelet nélküli ütemezett feladat. Ezt a beállítást a felhasználó úgy határozza meg, hogy rendszeres időközönként fusson egy megosztott hálóütemező-felületen keresztül.
- Igény szerint a számítási feladat felhasználói felületének és a bővítményügyfél SDK-jának használatával.
Hálóütemező felhasználói felülete
Belépési pont beállításai:
Használja a helyi menü ütemezését.
Használja
workloadClient.itemSettings.opena kiválasztott beállításazonosítótSchedule.
Elrendezés
- Az utolsó sikeres frissítési idő és a következő frissítési idő.
- A Frissítés gomb.
- Az elemütemezési beállítások.
Előkészítés
1. lépés: Ütemezés helyi menüelemének hozzáadása
Ha meg szeretné jeleníteni az Ütemezés gombot az elem helyi menüjében, adjon hozzá egy új bejegyzést a contextMenuItems tulajdonsághoz az elem előtérjegyzékében:
{
"name": "schedule"
}
2. lépés: Elemütemezési beállítások hozzáadása
Adjon hozzá egy új schedule bejegyzést az előtérjegyzék elembeállítási tulajdonságához:
"schedule": {
"itemJobType": "ScheduledJob",
"refreshType": "Refresh"
}
-
itemJobType: Az elemfeladat-definíció XML-fájljában definiált elemfeladat-típus. -
refreshType: A Frissítés gomb megjelenítését adja meg. Három lehetőség közül választhat: A frissítés gomb és a megjelenítendő név használataRefreshésRunengedélyezése, vagy aNoneFrissítés gomb letiltása.
Feladatok JavaScript API-k
A felügyelet nélküli ütemezett feladatok mellett a számítási feladatok igény szerint futtathatnak feladatokat, vagy akár igény szerint is elindíthatnak ütemezett feladatokat. A bővítményügyfél részeként api-kat biztosítunk:
Ütemezett feladatok API-k:
getItemScheduledJobs(objectId: string): Promise<ItemSchedule>createItemScheduledJobs(createItemScheduledJobs: CreateItemScheduleParams): Promise<ItemSchedule>updateItemScheduledJobs(updateItemScheduleParams: UpdateItemScheduleParams): Promise<ItemSchedule>
Adott feladatpéldány API-k:
runItemJob(jobParams: RunItemJobParams): Promise<ItemJobInstance>cancelItemJob(jobParams: CancelItemJobParams): Promise<CancelItemJobResult>getItemJobHistory(getHistoryParams: GetItemJobHistoryParams): Promise<ItemJobHistory>
Feljegyzés
getItemJobHistory A fabricben jelenleg tárolt állapotú feladatot adja vissza. Mivel a Fabric jelenleg kizárólag a lekérdezésre támaszkodik, vegye figyelembe, hogy az állapot nem feltétlenül a legfrissebb. Ha a felhasználói felületen a lehető leghamarabb a legpontosabb állapotot kell tükröznie, javasoljuk, hogy közvetlenül a háttérrendszerből szerezze be az állapotot.
Integrálás a monitorozási központtal
Amikor az adatok készen állnak, az elemfeladatok automatikusan megjelennek a figyelési központban. A következő lépés az, hogy hozzáadja az elemtípust a szűrőpanelhez, és konfigurálja és implementálja azokat az elérhető műveleteket, amelyeket a felhasználó végrehajthat a feladatokhoz.
Elem engedélyezése a monitorozási központ szűrőpaneljén
Ha hozzá szeretné adni az elemet a szűrőpanelhez, adjon meg egy új tulajdonságot az elem előtérjegyzékében, és állítsa a következőre supportedInMonitoringHubtrue: .
Integrálás a feladatok gyorsműveleteivel
A felhasználók több műveletet is végrehajthatnak egy feladaton, beleértve a megszakítást, az újrapróbálkozást és a részletek lekérését.
A számítási feladatokat kezelő csapat úgy dönt, hogy melyiket szeretné engedélyezni az itemJobConfig elem előtérjegyzékében lévő tulajdonság beállításával. Ha nincs beállítva, az ikon nem látható.
A mintaelemhez hozzáadott konfiguráció például az összes feladatműveletet támogatja, később jelenik meg ebben a szakaszban.
Amikor egy felhasználó kiválasztja a mintaelem-feladat Mégse ikonját, meghívjuk a megadott műveletet item.job.cancel. A bővítmény Fabric.WorkloadSample feladattal kapcsolatos környezetét a számítási feladat implementálja a feladat tényleges megszakításához.
A Fabric platform arra is számít, hogy a művelet választ ad a felhasználónak az eredményekről.
"itemJobActionConfig": {
"registeredActions": {
"detail": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.detail"
},
"cancel": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.cancel"
},
"retry": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.retry"
}
}
}
Feladat részletei panel
Amikor a számítási feladatért felelős csapat részletes információkért regisztrálja a műveletet, a Fabric elvárja, hogy a számítási feladat adott formátumban adja vissza az adatokat, hogy a Fabric megjeleníthesse ezeket az információkat az oldalsó panelen.
Jelenleg a kulcs/érték párok egyszerű szövegben vagy hivatkozásban támogatottak.
- A feladatműveletek kezelésére példa: index.worker.ts a mintaadattárban. A fájlban keresse meg azokat a műveleteket, amelyek a következővel
item.jobkezdődnek: .
Legutóbbi futtatások
A feladat állapotának a monitorozási központban való megjelenítése mellett a Fabric megosztott felhasználói élményt is kínál egy adott elem legutóbbi futtatásainak megjelenítéséhez.
Belépési pontok:
Helyi menü>Legutóbbi futtatások
A
workloadClient.itemRecentRuns.openhasználata.
Előkészítés
1. lépés: Helyi menüelem hozzáadása recentRuns
Ha meg szeretné jeleníteni a Legutóbbi futtatások gombot az elemmenüben, adjon hozzá egy új bejegyzést az contextMenuItems elem előtérjegyzékében lévő tulajdonsághoz.
Példa:
{
"name": "recentruns"
}
2. lépés: Elembeállítások recentRun hozzáadása
Adjon hozzá egy új recentRun bejegyzést az előtérjegyzék elembeállítási tulajdonságához.
Példa:
"recentRun": {
"useRecentRunsComponent": true,
}
Feladatok integrációja a mintaelem menüszalagjában
A felhasználói felület számítási feladatmintájának részeként hozzáadtunk egy, a feladatokhoz dedikált szakaszt az elem menüszalagjához.
A menüszalag megvalósítására példa: ItemTabToolbar.tsx a mintaadattárban.