Ütemező feladat indítása egy másik feladat elvégzése után

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)