Hiljuti tekkis vajadus teha Windows Service teenus, mis töötaks regulaarselt, ja pärast selle kirjutamist net core'iga avastasin, et seda ei saa teenusena käivitada.
Pärast aias otsimist leidub erinevaid lahendusi, millest igaühel on oma eelised. Pärast lugemist tundsin, et see pole väga mugav, nii et mõtlesin välja oma ideed, kuidas sellega toime tulla. Lõplik lahendus on kirjutada kolm või neli koodirida posershellis ning niipea kui see on täidetud, saab planeeritud ülesande edukalt lisada
Esiteks, kirjuta netipõhine konsooliprogramm. Konsooliprogramm käivitab sinu töötlemisloogika.
Kood ei näita ......
Seejärel avalda kood Zhibao kausta ja pead salvestama oma konsooli dll nime. Jah, dll nimi, NET Core konsooliprogramm, ei loo vaikimisi exe-faili.
Kopeeri avaldatud kaustatee,
Järgmist koodi saab kirjutada igas redaktoris, mina kirjutasin selle süsteemi sisseehitatud Powershell ISE abil.
Kood, mis illustreerib
Registreeri süsteemis ajastatud ülesanne (Register-ScheduledJob), määra ajakava nimi (-Name), määra käivitatav skript (-ScriptBlock), skriptisisu (dotnet path),
Määra käivitaja (-Trigger), loo uus trigger Määra jooksu algusaeg, määra jooksude vaheline intervall (-RepetitionInterval), käivita kord tunnis (01:00:00) ja määra määramata jooks (-RepeatIndefinitely)
Lihtsalt käivita ülaltoodud Powershelli skript, et lisada süsteemile ajastatud ülesanne.
Lihtne ja mugav.
Unregister-ScheduledJob -Name XXXXService --- Kustuta ajastatud ülesanne.
|