Neseniai reikėjo reguliariai vykdyti "Windows Service" paslaugą, o parašęs ją su tinklo branduoliu pastebėjau, kad jos negalima paleisti kaip paslaugos.
Po paieškų sode yra įvairių sprendimų, kurių kiekvienas turi savo privalumų. Perskaičiusi pajutau, kad tai nėra labai patogu, todėl sugalvojau savo idėjų, kaip su tuo susidoroti. Galutinis sprendimas yra parašyti tris ar keturias kodo eilutes posershell, o kai tik jis bus įvykdytas, suplanuotą užduotį galima sėkmingai pridėti
Visų pirma, parašykite neto branduolio konsolės programą. Konsolės programa vykdo jūsų apdorojimo logiką.
Kodas nerodo ......
Tada paskelbkite kodą "Zhibao" aplanke ir turite įrašyti konsolės dll pavadinimą. Taip, dll pavadinimas, NET Core konsolės programa, pagal numatytuosius nustatymus nesukuria exe failo.
Nukopijuokite publikuoto aplanko kelią,
Šis kodas gali būti parašytas bet kuriame redaktoriuje, aš jį parašiau naudodamas sistemoje įmontuotą Powershell ISE.
Kodas iliustracijai,
Užregistruokite suplanuotą užduotį (Register-ScheduledJob) sistemoje, nurodykite tvarkaraščio pavadinimą (-Name), nurodykite vykdytiną scenarijų (-ScriptBlock), scenarijaus turinį (dotnet kelią),
Nurodykite paleidiklį (-Trigger), sukurkite naują paleidiklį Nurodykite paleidimo pradžios laiką, nurodykite intervalą tarp paleidimų (-RepetitionInterval), paleiskite kartą per valandą (01:00:00) ir nurodykite neribotą paleidimą (-RepeatIndefinitely)
Tiesiog paleiskite aukščiau pateiktą "Powershell" scenarijų, kad pridėtumėte suplanuotą užduotį prie sistemos.
Pakankamai paprasta ir patogu.
Unregister-ScheduledJob -Name XXXXService --- Panaikinkite suplanuotą užduotį.
|