Ismétlődő munkafolyamatok ütemezése és futtatása az Ismétlődés eseményindítóval az Azure Logic Appsben
A következőkre vonatkozik: Azure Logic Apps (Használat + Standard)
A munkafolyamat ütemezés szerinti elindításához és futtatásához első lépésként használhatja az általános ismétlődési eseményindítót. Beállíthat egy dátumot, időpontot és időzónát a munkafolyamat elindításához, és ismétlődést a munkafolyamat ismétléséhez. Az alábbi lista néhány olyan mintát tartalmaz, amelyeket ez az eseményindító támogat, valamint a speciálisabb ismétlődéseket és az összetettebb ütemezéseket:
Futtasson egy adott dátumot és időpontot, majd ismételje meg n-enként másodpercenként, percben, órában, napon, héten vagy hónapban.
Futtassa azonnal, és ismételje meg n-enként másodpercenként, percben, órában, napban, héten vagy hónapban.
Futtassa azonnal, és ismételje meg naponta egy vagy több meghatározott időpontban, például 8:00-kor és 17:00-kor.
Futtassa azonnal, és ismételje meg hetente adott napokon, például szombaton és vasárnap.
Futtassa azonnal, és ismételje meg hetente meghatározott napokon és időpontokban, például hétfőtől péntekig 8:00-kor és 17:00-kor.
Feljegyzés
Speciális ütemezési lehetőségek, például ezekben az órákban és ezekben a napokban érhetők el, és csak beépített lekérdezési eseményindítókkal működnek, például az Ismétlődés és a Tolóablak eseményindítókkal, amelyek közvetlenül az Azure Logic Apps-futtatókörnyezettel futnak. A Microsoft által felügyelt, üzemeltetett és az Azure-ban futtatott összekötők esetében a lekérdezési eseményindítók a következő ismétlődést csak az Intervallum és gyakoriság értékek használatával számítják ki, nem pedig a speciális ütemezési beállításokat.
Az Ismétlődési eseményindító nincs társítva egyetlen szolgáltatáshoz sem, így az eseményindítót szinte bármilyen munkafolyamathoz használhatja, például a Használat logikai alkalmazás munkafolyamatai és a Standard logikai alkalmazás állapotalapú munkafolyamatai. Ez az eseményindító jelenleg nem érhető el a standard logikai alkalmazás állapot nélküli munkafolyamataihoz.
Az ismétlődési eseményindító a beépített Schedule-összekötő része, és natív módon fut az Azure Logic Apps-futtatókörnyezetben. A beépített ütemezési eseményindítókkal és műveletekkel kapcsolatos további információkért lásd : Ismétlődő automatikus, feladatok és munkafolyamatok ütemezése és futtatása az Azure Logic Apps használatával.
Előfeltételek
Azure-fiók és -előfizetés. Ha még nincs előfizetése, regisztráljon egy ingyenes Azure-fiókra.
Egy használatalapú vagy standard logikai alkalmazás erőforrása üres munkafolyamattal.
Feljegyzés
Ha standard logikai alkalmazás munkafolyamatot hozott létre, mindenképpen hozzon létre állapotalapú munkafolyamatot. Az ismétlődési eseményindító jelenleg nem érhető el állapot nélküli munkafolyamatokhoz.
Az Ismétlődés eseményindító hozzáadása
Attól függően, hogy a munkafolyamat Használat vagy Standard, kövesse a megfelelő lépéseket:
Az Azure Portalon nyissa meg a logikai alkalmazás erőforrását és az üres munkafolyamatot.
Adja meg az ismétlés időközét és gyakoriságát. Ebben a példában állítsa be ezeket a tulajdonságokat úgy, hogy minden héten futtassa a munkafolyamatot, például:
Tulajdonság JSON-név Kötelező Típus Leírás Intervallum interval
Igen Egész Pozitív egész szám, amely leírja, hogy milyen gyakran fut a munkafolyamat a gyakoriság alapján. A minimális és maximális időközök a következők:
- Hónap: 1-16 hónap
- Hét: 1-71 hét
- Nap: 1-500 nap
- Óra: 1-12 000 óra
- Perc: 1-72 000 perc
- Második: 1-9 999,999 másodperc
Ha például az intervallum 6, és a gyakoriság "Hónap", akkor az ismétlődés 6 havonta történik.Gyakoriság frequency
Igen Sztring Az ismétlődés időegysége: Másodperc, Perc, Óra, Nap, Hét vagy Hónap
Fontos: Ha a Nap, a Hét vagy a Hónap gyakoriságot választja, és megadja a jövőbeli kezdési dátumot és időpontot, győződjön meg arról, hogy előre be van állítva az ismétlődés. Ellenkező esetben előfordulhat, hogy a munkafolyamat kihagyja az első ismétlődéseket.
- Nap: A napi ismétlődés beállítása legalább 24 órával korábban.
- Hét: A heti ismétlődés beállítása legalább 7 nappal korábban.
- Hónap: A havi ismétlődés beállítása legalább egy hónappal korábban.Tekintse át a következő szempontokat az ismétlődési eseményindító használatakor:
Ha nem ad meg egy adott kezdési dátumot és időpontot, az első ismétlődés azonnal lefut a munkafolyamat mentésekor vagy a logikai alkalmazás erőforrásának üzembe helyezésekor az eseményindító ismétlődési beállítása ellenére. A viselkedés elkerülése érdekében adjon meg egy kezdő dátumot és időpontot az első ismétlődés futtatásához.
Ha nem ad meg más speciális ütemezési beállításokat, például a jövőbeli ismétlődések futtatásának konkrét időpontjait, az ismétlődések az utolsó futtatási időponton alapulnak. Ennek eredményeképpen az ismétlődések kezdési időpontjai elsodródhatnak olyan tényezők miatt, mint például a tárolási hívások késése.
Annak érdekében, hogy a munkafolyamat ne maradjon le az ismétlődésről, különösen akkor, ha a gyakoriság napok vagy hosszabb, próbálkozzon az alábbi lehetőségekkel:
Adja meg az ismétlődés kezdő dátumát és időpontját, valamint a későbbi ismétlődések futtatásának konkrét időpontját. Az Ezekben az órákban és ezekben a percekben elnevezett tulajdonságokat használhatja, amelyek csak a Nap és a Hét frekvenciákon érhetők el.
A Használat logikai alkalmazás munkafolyamatai esetében az Ismétlődés eseményindító helyett használja a Tolóablak eseményindítót.
Ha arm-sablonnal üzembe helyez egy letiltott használatalapú munkafolyamatot, amelynek ismétlődési eseményindítója van, az eseményindító azonnal aktiválódik, amikor engedélyezi a munkafolyamatot, hacsak nem állítja be a Kezdési idő paramétert az üzembe helyezés előtt.
A speciális ütemezési beállítások beállításához nyissa meg az Új paraméter hozzáadása listát. A kiválasztott beállítások a kijelölés után megjelennek az eseményindítón.
Tulajdonság JSON-név Kötelező Típus Leírás Időzóna timeZone
Nem Sztring Csak akkor érvényes, ha megadja a kezdési időpontot, mert ez az eseményindító nem fogadja el az UTC-eltolást. Válassza ki az alkalmazni kívánt időzónát. További információ: Alapértelmezett időzónák. Kezdési idő startTime
Nem Sztring Adjon meg egy kezdő dátumot és időpontot, amely legfeljebb 49 évvel rendelkezik a jövőben, és az ISO 8601 dátumidő-specifikációt kell követnie UTC dátum időformátumban, de UTC-eltolás nélkül:
YYYY-MM-DDThh:mm:ss, ha kiválaszt egy időzónát
-vagy-
YYYY-MM-DDThh:mm:ssZ, ha nem jelöl ki időzónát
Így például ha 2020. szeptember 18-án 14:00-kor szeretné használni, adja meg a "2020-09-18T14:00:00" értéket, és válasszon ki egy időzónát, például a Csendes-óceáni téli időt. Vagy adja meg a "2020-09-18T14:00:00Z" értéket időzóna nélkül.
Fontos: Ha nem jelöl ki időzónát, szóköz nélkül kell hozzáadnia a "Z" betűt a végén. Ez a "Z" az egyenértékű tengeri időre utal. Ha kiválaszt egy időzónaértéket, nem kell "Z" értéket hozzáadnia a kezdési idő értékének végéhez. Ha igen, a Logic Apps figyelmen kívül hagyja az időzóna értékét, mert a "Z" utc időformátumot jelez.
Az egyszerű ütemezések esetében a kezdési időpont az első előfordulás, míg összetett ütemezések esetén az eseményindító nem aktiválódik hamarabb, mint a kezdési időpont. Milyen módokon használhatom a kezdő dátumot és időpontot?Ezeken a napokon weekDays
Nem Sztring vagy sztringtömb Ha a "Hét" lehetőséget választja, kiválaszthat egy vagy több napot, amikor futtatni szeretné a munkafolyamatot: hétfő, kedd, szerda, csütörtök, péntek, szombat és vasárnap Ezekben az órákban hours
Nem Egész vagy egész szám tömb Ha a "Nap" vagy a "Hét" lehetőséget választja, egy vagy több egész számot 0 és 23 között választhat a munkafolyamat futtatásának napjának óráiként. Ha például a "10", a "12" és a "14" értéket adja meg, akkor a nap óráiban 10,12 és 14 óra lesz.
Megjegyzés: Alapértelmezés szerint a nap perceinek kiszámítása az ismétlődés kezdete alapján történik. A nap adott perceinek (például 10:00, 12:00 és 14:00) beállításához adja meg ezeket az értékeket az Alábbi percek nevű tulajdonság használatával.Ezekben a percekben minutes
Nem Egész vagy egész szám tömb Ha a "Nap" vagy a "Hét" lehetőséget választja, egy vagy több egész számot is kiválaszthat 0 és 59 között a munkafolyamat futtatásának perceiként.
Megadhatja például a "30" értéket a percjelként, és az előző példát használva a nap óráira 10:30, 12:30 és 14:30 óra lesz.
Megjegyzés: Előfordulhat, hogy az aktivált futtatás időbélyege az ütemezett időponttól függően akár 1 perc is lehet. Ha az időbélyeget pontosan a későbbi műveleteknek megfelelően kell átadnia, sablonkifejezésekkel ennek megfelelően módosíthatja az időbélyeget. További információ: Kifejezések dátum- és időfüggvényei.Tegyük fel például, hogy 2020. szeptember 4., péntek van. A következő ismétlődési eseményindító nem aktiválódik hamarabb a megadott kezdési dátumnál és időpontnál, azaz 2020. szeptember 18-án, pénteken, csendes-óceáni idő szerint 8:00-kor. Az ismétlődési ütemezés azonban csak hétfőnként 10:30, 12:30 és 14:30-ra van beállítva. Az eseményindító első indítása és munkafolyamat-példány létrehozása hétfőn 10:30-kor történik. Ha többet szeretne megtudni a kezdési időpontok működéséről, tekintse meg ezeket a kezdési időpontra vonatkozó példákat.
A jövőbeli futtatások ugyanazon a napon 12:30-kor és 14:30-kor történnek. Minden ismétlődés létrehoz egy saját munkafolyamat-példányt. Ezt követően a teljes ütemezés jövő hétfőn újra megismétli. Mik a többi példaesemények?
Feljegyzés
Az eseményindító csak akkor jeleníti meg a megadott ismétlődés előnézetét, ha a Nap vagy a Hét lehetőséget választja gyakoriságként.
Most folytassa a munkafolyamat összeállítását más műveletekkel.
Munkafolyamat-definíció – Ismétlődés
Az Ismétlődés eseményindító definíciója a választott beállításokkal való megjelenítéséhez tekintse át a munkafolyamat alapjául szolgáló JSON-definíciót a Használat logikai alkalmazásokban és a Standard logikai alkalmazásokban (csak állapotalapú).
Attól függően, hogy a logikai alkalmazás Használat vagy Standard, válasszon az alábbi lehetőségek közül:
Felhasználás: A tervező eszköztárán válassza a Kód nézetet. A tervezőhöz való visszatéréshez a kódnézet-szerkesztő eszköztárán válassza a Tervező lehetőséget.
Standard: A munkafolyamat menüjében válassza a Kód nézetet. A tervezőhöz való visszatéréshez válassza a Munkafolyamat menü Tervező elemét.
Az alábbi példa bemutatja, hogyan jelenhet meg az ismétlődési eseményindító definíciója a munkafolyamat mögöttes JSON-definíciójában:
"triggers": {
"Recurrence": {
"type": "Recurrence",
"recurrence": {
"frequency": "Week",
"interval": 1,
"schedule": {
"hours": [
10,
12,
14
],
"minutes": [
30
],
"weekDays": [
"Monday"
]
},
"startTime": "2020-09-07T14:00:00Z",
"timeZone": "Pacific Standard Time"
}
}
}
Feljegyzés
Az Ismétlődési eseményindító definíciójában a evaluatedRecurrence
tulajdonság a tulajdonsággal recurrence
együtt jelenik meg, amikor bármely kifejezés vagy paraméterhivatkozás megjelenik az ismétlődési feltételekben. Ez a evaluatedRecurrence
tulajdonság a kifejezés vagy paraméterhivatkozás kiértékelt értékeit jelöli. Ha az ismétlődési feltételek nem adnak meg kifejezéseket vagy paraméterhivatkozásokat, a tulajdonságok és recurrence
a evaluatedRecurrence
tulajdonságok megegyeznek.
Az alábbi példa bemutatja, hogyan frissítheti az eseményindító definícióját, hogy az eseményindító csak egyszer fusson minden hónap utolsó napján:
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 1,
"schedule": {
"monthDays": [-1]
}
},
"type": "Recurrence"
}
}
Csak egyszeri futtatás
Ha a munkafolyamatot csak egy időben szeretné futtatni a jövőben, alkalmazhatja a Scheduler: Run once jobs munkafolyamat-sablont, amely csak a Consumption logikai alkalmazás munkafolyamataihoz érhető el. Ez a sablon a Kérelem eseményindítót és a HTTP-műveletet használja az Ismétlődés eseményindító helyett, amely nem támogatja ezt az ismétlődési mintát.
Az Azure Portalon hozzon létre egy Használat logikai alkalmazást.
A tervezőben nyissa meg az üres munkafolyamatot. A tervező eszköztárán válassza az Örökölt tervező engedélyezése lehetőséget.
A tervező eszköztárán válassza a Sablonok lehetőséget.
A megnyíló lapon görgessen végig a videón a Sablonok szakaszig.
A Kategória listában válassza az Ütemezés lehetőséget, majd válassza a következő sablont:
A tervező eszköztárán válassza az Általánosan elérhető tervező lehetőséget.
Az alábbi általános lépéseket követve adja hozzá a Delay (Késleltetés) nevű ütemezési műveletet, és adja meg a következő művelet futtatásának időpontját.
Vagy elindíthatja a munkafolyamatot a HTTP-kérés fogadásakor elnevezett Kérelem eseményindítóval, és az eseményindító paramétereként átadhatja a kezdési időpontot.
Futtatás egyszer a hónap utolsó napján
Ehhez a feladathoz a munkafolyamat mögöttes JSON-definíciójában szereplő Ismétlődési eseményindítót kódnézet használatával kell szerkesztenie, nem a tervezővel, az alábbi példával:
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 1,
"schedule": {
"monthDays": [-1]
}
},
"type": "Recurrence"
}
}
Ismétlődő eltolódás és eltolódás aktiválása (nyári időszámítás)
A feladatok ütemezéséhez az Azure Logic Apps a feldolgozásra szánt üzenetet az üzenetsorba helyezi, és meghatározza, hogy mikor válik elérhetővé az üzenet, az utolsó feladat futásának UTC-ideje és a következő feladat ütemezésének UTC-időpontja alapján. Ha az ismétlődés kezdő időpontját adja meg, győződjön meg arról, hogy kiválaszt egy időzónát , hogy a logikai alkalmazás munkafolyamata a megadott kezdési időpontban fusson. Így a logikai alkalmazás UTC-ideje is eltolódik, hogy ellensúlyozza a szezonális időváltozást. Az ismétlődő eseményindítók betartják a beállított ütemezést, beleértve a megadott időzónát is.
Ellenkező esetben, ha nem jelöl ki időzónát, a nyári időszámítás (DST) eseményei hatással lehetnek az eseményindítók futtatásakor. A kezdési idő például egy órával előrehalad a DST indításakor, egy órával pedig visszafelé, amikor a DST véget ér. Bizonyos időablakok azonban problémákat okozhatnak az időeltolódások során. További információt és példákat a nyári időszámítás és a téli idő ismétlődése című témakörben talál.