Nedávno bola potreba vytvoriť službu Windows Service, ktorá by sa pravidelne spúšťala, a po jej napísaní v Net Core som zistil, že sa nedá spustiť ako služba.
Po hľadaní v záhrade nájdete rôzne riešenia, každé so svojimi výhodami. Po prečítaní som mal pocit, že to nie je veľmi pohodlné, tak som si vymyslel vlastné nápady, ako sa s tým vysporiadať. Konečným riešením je napísať tri alebo štyri riadky kódu v posershelle a hneď ako sa spustí, plánovaná úloha môže byť úspešne pridaná
Najprv napíšte net core konzolový program. Konzolový program spúšťa vašu spracovateľskú logiku.
Kód nezobrazuje ......
Potom publikujte kód do priečinka Zhibao a musíte zaznamenať dll názov vašej konzoly. Áno, názov dll, teda NET Core konzolový program, nevytvára predvolene exe súbor.
Skopírujte cestu k publikovanému priečinku,
Nasledujúci kód je možné napísať v akomkoľvek editore, napísal som ho pomocou zabudovaného Powershell ISE systému.
Kód na ilustráciu,
Zaregistrujte plánovanú úlohu (Register-ScheduledJob) v systéme, zadajte názov plánu (-Name), určte skript na spustenie (-ScriptBlock), obsah skriptu (dotnet path),
Špecifikovať trigger (-Trigger), vytvoriť nový trigger Určiť čas začiatku behu, určiť interval medzi behmi (-RepetitionInterval), run raz za hodinu (01:00:00) a určiť neurčitý beh (-RepeatIndefinitelly)
Stačí spustiť vyššie uvedený PowerShell skript na pridanie plánovanej úlohy do systému.
Jednoduché a pohodlné.
Unregister-ScheduledJob -Name XXXXService --- Vymazať plánovanú úlohu.
|