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 összes újonnan létrehozott App Service-alkalmazás létrehozhat egy egyedi alapértelmezett gazdagépnevet az elnevezési konvencióval <app-name>-<random-hash>.<region>.azurewebsites.net
. A meglévő alkalmazásnevek változatlanok maradnak.
Példa: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
További részletekért tekintse meg az App Service-erőforrás egyedi alapértelmezett gazdagépnevét.
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.
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ást WEBJOBS_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.