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.net
haszná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.
Az Azure Portalon nyissa meg az App Service-webalkalmazás, API-alkalmazás vagy mobilalkalmazás App Service-oldalát.
A bal oldali panelen válassza a WebJobs, majd a Hozzáadás lehetőséget.
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.
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. 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.
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.
Manuálisan aktivált WebJob létrehozása
Az Azure Portalon nyissa meg az App Service-webalkalmazás, API-alkalmazás vagy mobilalkalmazás App Service-oldalát.
A bal oldali panelen válassza a WebJobs, majd a Hozzáadás lehetőséget.
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.
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 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.
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.
Ütemezett WebJob létrehozása
Egy ütemezett webfeladat is aktiválódik. Az eseményindító automatikusan a megadott ütemezés szerint ütemezhető.
Az Azure Portalon nyissa meg az App Service-webalkalmazás, API-alkalmazás vagy mobilalkalmazás App Service-oldalát.
A bal oldali panelen válassza a WebJobs, majd a Hozzáadás lehetőséget.
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.
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. 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.
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.
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
A megtekinteni kívánt WebJob esetében válassza a Naplók lehetőséget.
A WebJob Details (WebJob részletei) lapon válassza ki az időpontot az egy futtatás részleteinek megtekintéséhez.
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.