A Háló monitorozási központ beállítása

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 Accepted kell 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:

    • NotStarted
    • InProgress
    • Completed
    • Failed
    • Cancelled

    Fontos: Még ha a feladat meghiúsul is, ennek az API-nak állapotot 200 OK és feladatállapotot Failed kell 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.

      Képernyőkép az Ütemezés lehetőségről a Hálóütemező menüben.

    • Használja workloadClient.itemSettings.opena kiválasztott beállításazonosítót Schedule.

  • Elrendezés

    Képernyőkép a Hálóütemező beállításairól.

    1. Az utolsó sikeres frissítési idő és a következő frissítési idő.
    2. A Frissítés gomb.
    3. 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álata Refresh és Run engedélyezése, vagy a NoneFrissí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

Képernyőkép a feladatok gyorsműveleti gombjairól a monitorozási központban.

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

Képernyőkép a feladat részleteinek panelről a monitorozási központban.

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

    Képernyőkép a beállítások menü legutóbbi futtatás lehetőségéről.

  • A workloadClient.itemRecentRuns.open haszná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.

Képernyőkép az Elem lapról a Háló felhasználói felületén.

A menüszalag megvalósítására példa: ItemTabToolbar.tsx a mintaadattárban.