A Windows Feladatütemezőben (Feladatütemező) lehetőség van a feladatok ütemezésére és egy adott eseménynek a naplóba történő futtatására is (az "Eseményindítók Windowsban" című cikkben olvasható). Ebben a cikkben kitaláljuk, hogyan lehet megvalósítani egy végrehajtó mechanizmust az ütemező feladat automatikus indítása egy másik feladat befejezése után. Vegyük egy egyszerűsített algoritmust függőségek beállításához ütemező feladatok elindításához, amelyet alkalmazkodni tudunk a feladathoz.
Az én esetemben az egyik szkript kitöltése után egy másik szkriptet kellett futtatnom egy másik felhasználó alól. Ezért ezeket a műveleteket nem lehetett egyetlen feladatba kombinálni.
Tegyük fel, hogy futtatnunk kell egy ütemező feladatot Pong a feladat befejezése után fütyülés. Bármely feladat megkezdésekor és befejezésekor az eseményre vonatkozó információkat rögzítik a rendszernaplóban. A Ping-munka befejezésének eseményeire összpontosítunk.
Nyissuk meg a konzolt feladat Scheduler (Taskschd.msc), keresse meg és válassza ki a Ping eseményt, és lépjen az alsó panelen található fülre történelem, információkat tartalmaz a feladathoz kapcsolódó összes eseményről. Érdekel egy kódos esemény 102 (Feladat befejeződött) - amelyet a feladat befejezése után generálunk.
Nyissuk meg az esemény részletes leírását a fülre való belépés után részlet és váltson az XML esemény nézet módba (XML nézet). XML-adatok felhasználásával megkaphatja az esemény minden részletét, amelyre szükségünk van egy szűrő létrehozásához. Különösen:
EseményID: 102
Szolgáltató neve: Microsoft-Windows-TaskScheduler
Csatorna: Microsoft-Windows-TaskScheduler / Operational
TaskName: \ ping
Amikor egy Pong job triggert hoz létre, létre kell hozni egy trigger feltételt a job számára, amikor a 102. esemény megjelenik a naplóban (Job trigger Egy eseményen). A probléma azonban az, hogy az EventID 102 akkor jelenik meg, amikor bármelyik feladat befejeződik, és nem csak a Ping feladat.
Lehetséges azonban rugalmasabb feltételek létrehozása az események kiválasztására (szokás), amikor a szűrő nem segíti eléggé az esemény kiválasztását. Kattintson a gombra Új eseményszűrő:
Hozzunk létre egy új eseményszűrőt, amely meghatározza az esemény XML-ábrázolásából korábban kapott adatokat.
Eseménynaplók: Microsoft-Windows-TaskScheduler / Operational
Esemény forrása: TaskScheduler
Feladat kategória: A feladat befejeződött
Ezután lépjen a fülre XML és látjuk a szűrő következő XML-ábrázolását (XPath):
* [Rendszer [Szolgáltató [@ Név = 'Microsoft-Windows-TaskScheduler'] és Feladat = 102]]
Cseréljük ki az Xpath kódot a következő szűrési naplóval a TaskCompleted esemény jelenlétére a \ ping feladatból:
* [Rendszer [Szolgáltató [@ Név = 'Microsoft-Windows-TaskScheduler'] és Feladat = 102]]
Az esemény hozzáadása után próbálja futtatni a ping feladatot. A befejezés után a pong feladatnak azonnal meg kell kezdődnie..
Az XPath dekódolást az alábbiakban mutatjuk be.
A cikk publikációs anyagok alapján készült Ütemezett feladat futtatása egymás után (Http://blogs.msdn.com/b/davethompson/archive/2011/10/25/running-a-scheduled-task-after-another.aspx)