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

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.

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.

Á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. A WebJobs használata nem jár többletköltséggel.

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)
.php (PHP használatával)
.py (Python 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 egy mult-instance 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. Nyissa meg a Gépház> WebJobs lapot, válassza ki a WebJobot, és elindíthatja és leállíthatja a WebJob-feladatot. 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.