Megosztás a következőn keresztül:


Háttérfeladatok futtatása a WebJobs használatával Azure-alkalmazás szolgáltatásban

A WebJobs üzembe helyezése az Azure Portal használatával végrehajtható vagy szkriptek feltöltéséhez. Háttérfeladatokat futtathat a Azure-alkalmazás szolgáltatásban.

Ha a Azure-alkalmazás szolgáltatás helyett a Visual Studiót használja a WebJobs fejlesztéséhez és üzembe helyezéséhez, olvassa el a WebJobs üzembe helyezése a Visual Studióval című témakört.

Feljegyzés

A Windows-tárolóhoz, Linux-kódhoz és Linux-tárolóhoz készült WebJobs előzetes verzióban érhető el. A Windows-kódhoz készült WebJobs általánosan elérhető, és nem előzetes verzióban érhető el.

Áttekintés

A WebJobs a Azure-alkalmazás szolgáltatás egyik funkciója, amely lehetővé teszi egy program vagy szkript futtatását ugyanabban a példányban, mint egy webalkalmazás. Minden App Service-csomag támogatja a WebJobs szolgáltatást. A WebJobs használata nem jár többletköltséggel.

Feljegyzés

2024. június 1-től az újonnan létrehozott App Service-alkalmazások létrehozhatnak egy egyedi alapértelmezett gazdagépnevet, amely az elnevezési konvenciót <app-name>-<random-hash>.<region>.azurewebsites.nethasználja. A meglévő alkalmazásnevek változatlanok maradnak. Példa:

myapp-ds27dh7271aah175.westus-01.azurewebsites.net

További információ: Az App Service-erőforrás egyedi alapértelmezett gazdagépneve.

Az Azure WebJobs SDK és a WebJobs használatával számos programozási feladatot leegyszerűsíthet. További információ: What is the WebJobs SDK.

Az Azure Functions egy másik módot kínál a programok és szkriptek futtatására. A WebJobs és a Functions közötti összehasonlításért tekintse meg a Flow, a Logic Apps, a Functions és a WebJobs közötti választás című témakört.

WebJob-típusok

A szkriptekhez vagy programokhoz támogatott fájltípusok

A következő fájltípusok támogatottak:
.cmd, .bat, .exe (Windows parancsmag használatával)
.ps1 (a PowerShell használatával)
.sh (Bash használatával)
.js (Node.js használatával)
.jar (Java használatával)

Az ilyen fájltípusok futtatásához szükséges futtatókörnyezetek már telepítve vannak a webalkalmazás-példányon.

Folyamatos és aktivált WebJobs-feladatok

Az alábbi táblázat a folyamatos és az aktivált WebJobs közötti különbségeket ismerteti:

Folyamatos Triggerrel indított
A WebJob létrehozásakor azonnal elindul. Annak érdekében, hogy a feladat ne fejeződjön be, a program vagy a szkript általában végtelen hurokban végzi a munkáját. Ha a feladat véget ér, újraindíthatja. Általában a WebJobs SDK-val használják. Csak akkor indul el, ha manuálisan vagy ütemezés szerint aktiválódik.
Minden olyan példányon fut, amelyen a webalkalmazás fut. A WebJobot igény szerint egyetlen példányra korlátozhatja. Egyetlen példányon fut, amelyet az Azure választ ki a terheléselosztáshoz.
Támogatja a távoli hibakeresést. Nem támogatja a távoli hibakeresést.
A kód üzembe helyezése a \site\wwwroot\app_data\Jobs\Continuous. A kód üzembe helyezése a \site\wwwroot\app_data\Jobs\Triggered.

Feljegyzés

A webalkalmazások 20 perc inaktivitás után időtúllépést okozhatnak, és csak a tényleges webalkalmazáshoz érkező kérések állíthatják alaphelyzetbe az időzítőt. Az alkalmazás konfigurációjának megtekintése az Azure Portalon vagy a speciális eszközök webhelyére (https://<app_name>.scm.azurewebsites.net) irányuló kérések esetén nem állítja vissza az időzítőt. Ha úgy állítja be a feladatot üzemeltető webalkalmazást, hogy folyamatosan fusson, ütemezés szerint fusson, vagy eseményvezérelt eseményindítókat használjon, engedélyezze az Always on beállítást a webalkalmazás Azure-konfigurációs lapján. Az Always on beállítás segít meggyőződni arról, hogy az ilyen típusú WebJobs-feladatok megbízhatóan futnak. Ez a funkció csak az alapszintű, standard és prémium tarifacsomagokban érhető el.

Folyamatos WebJob-feladat létrehozása

Fontos

Ha az alkalmazáshoz van konfigurálva a forrásvezérlő, a webfeladatokat a forrásvezérlő integrációjának részeként kell üzembe helyezni. Miután konfigurálta a forrásvezérlést az alkalmazáshoz, a WebJob nem vehető fel az Azure Portalról.

  1. Az Azure Portalon nyissa meg az App Service-webalkalmazás, API-alkalmazás vagy mobilalkalmazás App Service-oldalát.

  2. A bal oldali panelen válassza a WebJobs, majd a Hozzáadás lehetőséget.

    Képernyőkép arról, hogyan vehet fel WebJob-feladatot egy App Service-alkalmazásban a portálon.

  3. Töltse ki a táblázatban megadott WebJob-beállítások hozzáadása lehetőséget, majd válassza a Webjob létrehozása lehetőséget.

    Képernyőkép, amely bemutatja, hogyan konfigurálhat többpéldányos folyamatos WebJob-feladatot egy App Service-alkalmazáshoz.

    Beállítás Mintaérték Leírás
    Név myContinuousWebJob Egy App Service-alkalmazásban egyedi név. Betűvel vagy számmal kell kezdődnie, és nem tartalmazhat a "-" és a "_" karakteren kívül más speciális karaktereket.
    Fájlfeltöltés ConsoleApp.zip Egy .zip fájl, amely tartalmazza a végrehajtható vagy szkriptfájlt, valamint a program vagy szkript futtatásához szükséges összes kiegészítő fájlt. A támogatott végrehajtható vagy szkriptfájltípusok a Támogatott fájltípusok szakaszban találhatók.
    Típus Folyamatos A WebJob-típusokat a cikk korábbi részében ismertetjük.
    Hangsor Többpéldányos Csak folyamatos WebJobs-feladatokhoz érhető el. Meghatározza, hogy a program vagy a szkript minden példányon vagy egy példányon fut-e. A több példányon való futtatás lehetősége nem vonatkozik az ingyenes vagy megosztott tarifacsomagokra.
  4. Az új WebJob megjelenik a WebJobs lapon. Ha megjelenik egy üzenet, amely szerint a WebJob hozzá lett adva, de nem látja, válassza a Frissítés lehetőséget.

  5. Folyamatos WebJob-feladat leállításához vagy újraindításához kattintson a jobb gombbal a webfeladatra a listában, és válassza a Leállítás vagy futtatás gombot, majd erősítse meg a kijelölést.

    Képernyőkép arról, hogyan állíthat le folyamatos WebJob-feladatokat az Azure Portalon.

Manuálisan aktivált WebJob létrehozása

  1. Az Azure Portalon nyissa meg az App Service-webalkalmazás, API-alkalmazás vagy mobilalkalmazás App Service-oldalát.

  2. A bal oldali panelen válassza a WebJobs, majd a Hozzáadás lehetőséget.

    Képernyőkép arról, hogyan vehet fel WebJob-feladatot egy App Service-alkalmazásban a portálon (manuálisan aktivált WebJob).

  3. Töltse ki a táblázatban megadott WebJob-beállítások hozzáadása lehetőséget, majd válassza a Webjob létrehozása lehetőséget.

    Képernyőkép, amely bemutatja, hogyan konfigurálhat manuálisan aktivált WebJob-feladatot egy App Service-alkalmazáshoz.

    Beállítás Mintaérték Leírás
    Név myTriggeredWebJob Egy App Service-alkalmazásban egyedi név. Betűvel vagy számmal kell kezdődnie, és nem tartalmazhat a "-" és a "_" karakteren kívül más speciális karaktereket.
    Fájlfeltöltés ConsoleApp1.zip Egy .zip fájl, amely tartalmazza a végrehajtható vagy szkriptfájlt, valamint a program vagy szkript futtatásához szükséges összes kiegészítő fájlt. A támogatott végrehajtható vagy szkriptfájltípusok a Támogatott fájltípusok szakaszban találhatók.
    Típus Triggerrel indított A WebJob-típusokat korábban ebben a cikkben ismertetjük.
    Eseményindítók Manuális
  4. Az új WebJob megjelenik a WebJobs lapon. Ha megjelenik egy üzenet, amely szerint a WebJob hozzá lett adva, de nem látja, válassza a Frissítés lehetőséget.

  5. Manuálisan aktivált WebJob futtatásához kattintson a jobb gombbal a webjobra a listában, és válassza a Futtatás gombot, majd erősítse meg a kijelölést.

    Képernyőkép arról, hogyan futtathat manuálisan aktivált WebJob-feladatot az Azure Portalon.

Ütemezett WebJob létrehozása

Egy ütemezett webfeladat is aktiválódik. Az eseményindító automatikusan a megadott ütemezés szerint ütemezhető.

  1. Az Azure Portalon nyissa meg az App Service-webalkalmazás, API-alkalmazás vagy mobilalkalmazás App Service-oldalát.

  2. A bal oldali panelen válassza a WebJobs, majd a Hozzáadás lehetőséget.

    Képernyőkép arról, hogyan vehet fel WebJob-feladatot egy App Service-alkalmazásban a portálon (ütemezett WebJob).

  3. Töltse ki a táblázatban megadott WebJob-beállítások hozzáadása lehetőséget, majd válassza a Webjob létrehozása lehetőséget.

    Az ütemezett WebJob App Service-alkalmazásokban való konfigurálását bemutató képernyőkép.

    Beállítás Mintaérték Leírás
    Név myScheduledWebJob Egy App Service-alkalmazásban egyedi név. Betűvel vagy számmal kell kezdődnie, és nem tartalmazhat a "-" és a "_" karakteren kívül más speciális karaktereket.
    Fájlfeltöltés ConsoleApp.zip Egy .zip fájl, amely tartalmazza a végrehajtható vagy szkriptfájlt, valamint a program vagy szkript futtatásához szükséges összes kiegészítő fájlt. A támogatott végrehajtható vagy szkriptfájltípusok a Támogatott fájltípusok szakaszban találhatók.
    Típus Triggerrel indított A WebJob-típusokat a cikk korábbi részében ismertetjük.
    Eseményindítók Ütemezett Az ütemezés megbízható működéséhez engedélyezze az Always On funkciót. Az Always On csak az alapszintű, standard és prémium tarifacsomagokban érhető el.
    CRON-kifejezés 0 0/20 * * * * A CRON-kifejezéseket a következő szakaszban ismertetjük.
  4. Az új WebJob megjelenik a WebJobs lapon. Ha megjelenik egy üzenet, amely szerint a WebJob hozzá lett adva, de nem látja, válassza a Frissítés lehetőséget.

  5. Az ütemezett WebJob futtatása a CRON-kifejezés által meghatározott ütemezés szerint történik. Ha bármikor manuálisan szeretné futtatni, kattintson a jobb gombbal a webfeladatra a listában, és válassza a Futtatás gombot, majd erősítse meg a kijelölést.

    Képernyőkép arról, hogyan futtathat manuálisan ütemezett WebJob-feladatokat az Azure Portalon.

NCRONTAB-kifejezések

Beírhat egy NCRONTAB-kifejezést a portálon, vagy felvehet egy settings.job fájlt a WebJob .zip fájl gyökerébe, ahogyan az alábbi példában is látható:

{
    "schedule": "0 */15 * * * *"
}

További információ: Aktivált WebJob ütemezése.

Feljegyzés

A CRON-kifejezések futtatásához használt alapértelmezett időzóna az egyezményes világidő (UTC). Ha a CRON-kifejezést egy másik időzóna alapján szeretné futtatni, hozzon létre egy alkalmazásbeállítást WEBSITE_TIME_ZONE nevű függvényalkalmazáshoz. További információ: NCRONTAB időzónák.

WebJobs-feladatok kezelése

Az Azure Portalon kezelheti a webhelyen futó egyes WebJobs-feladatokat. Lépjen a Beállítások webjobs lapra>, válassza ki a WebJobot, és elindíthatja és leállíthatja a WebJobot. Megtekintheti és módosíthatja a WebJob-feladatot futtató webhook jelszavát is.

Hozzáadhat egy olyan alkalmazásbeállítástWEBJOBS_STOPPED is, amelynek értéke 1 leállíthatja a webhelyen futó összes WebJobs-feladatot. Ezzel a módszerrel megakadályozhatja, hogy az ütköző WebJobs az előkészítési és az éles tárolóhelyeken is fusson. Hasonlóképpen használhatja 1 a beállítás értékét az WEBJOBS_DISABLE_SCHEDULE aktivált webjobsok letiltásához a webhelyen vagy az előkészítési ponton. A pontok esetében ne felejtse el engedélyezni az üzembehelyezési pont beállítási beállítását, hogy maga a beállítás ne legyen felcserélve.

A feladatelőzmények megtekintése

  1. A megtekinteni kívánt WebJob esetében válassza a Naplók lehetőséget.

    Képernyőkép a WebJob naplóinak eléréséről.

  2. A WebJob Details (WebJob részletei) lapon válassza ki az időpontot az egy futtatás részleteinek megtekintéséhez.

    Képernyőkép a WebJob-futtatás kiválasztásáról a részletes naplók megtekintéséhez.

  3. A WebJob Futtatás részletei lapon a letöltést választva lekérheti a naplók szövegfájlját, vagy a lap tetején található WebJobs-parancsra kattintva megtekintheti egy másik WebJob-feladat naplóit.

WebJob-állapotok

Az alábbi lista a gyakori WebJob-állapotokat tartalmazza:

  • Az alkalmazás inicializálása megkezdődött, és a WebJob az inicializálási folyamaton megy keresztül.
  • A WebJob indítása elindul.
  • Fut a WebJob futtatása.
  • PendingRestart A folyamatos WebJob-feladat minden okból kevesebb mint két perc alatt kilép, és az App Service 60 másodpercet vár a WebJob újraindítása előtt. Ha a kétperces jelölés után a folyamatos WebJob kilép, az App Service nem várja meg a 60 másodpercet, és azonnal újraindítja a WebJobot.
  • Leállította a WebJob leállt (általában az Azure Portalról), és jelenleg nem fut, és nem fut, amíg manuálisan nem indítja újra, még egy folyamatos vagy ütemezett WebJob-feladat esetében sem.
  • Megszakítva Ez számos okból fordulhat elő, például amikor egy hosszan futó WebJob eléri az időtúllépési jelölőt.

Következő lépések

Az Azure WebJobs SDK a WebJobs használatával számos programozási feladat leegyszerűsítéséhez használható. További információ: What is the WebJobs SDK.