Časovač

Změníl(a) - Kamil

Od verze 4.02.37 bude ukončena podpora spouštění naplánovaných úloh přes službu v systému Windows. Poté již bude podporováno spouštění naplánovaných úloh pouze pomocí rozhraní API. Doporučujeme do konce března 2024 ověřit, zda službu v systému Windows používáte, zajistit její odinstalování a zajistit spouštění naplánovaných úloh pomocí rozhraní API.

Postup pro odinstalování služby v systému Windows:

  1. Vytvořte dávkový soubor, který pojmenujte např: uninstall.bat a nakopírujte do něj níže uvedený obsah. Před spuštěním souboru zkontrolujte, že v proměnných „servicename“ a „timerPath“ máte uvedené platné údaje. Název služby a cestu ke službě naleznete ve vlastnostech služby s názvem začínající „Service system plusPortal“.

    REM Vložte do této proměnné název vaší Windows služby:
    SET servicename=plusPortalTimer_plusPortal
     
    REM  Vložte do této proměnné cestu k vašemu souboru plusPortalTimer.exe:
    SET timerPath="C:\inetpub\wwwroot\plusPortal\bin\plusPortalTimer.exe"
     
    c:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u %timerPath%
     
    pause
  2. Dávkový soubor spusťte jako administrátor a vyčkejte, až se Windows služba odinstaluje. Ověřte, že již neexistuje služba s názvem začínajícím „Service system plusPortal“.
    Po odinstalaci Windows služby se vám v plusPortalu ve stránce „Časovač“ (Nastavení / Správa konfigurace / Časovač) bude zobrazovat hlášení, že Windows služba je stále nainstalována. Odstraňte z konfiguračního souboru plusPortal.config sekci „TimerConfig“.
  3.  Pokud máte na stejném serveru další instanci plusPortalu nebo provozujete plusPortal i na jiném serveru, zajistěte odinstalování všech služeb. Následně zajistěte pravidelné spouštění naplánované úlohy pomocí rozhraní API.

Postup pro instalaci naplánované úlohy:

Pravidelné spouštění naplánovaných úloh a úloh datových pump je zajištěno pomocí naplánované úlohy v systému Windows (PowerShell ScheduledJob), která předá pokyn pomocí rozhraní API plusPortalu k provedení kontroly, zda nastal čas ke spuštění některé z úloh. Pokud čas nastal, je zajištěno spuštění úlohy.

  1. Ověřte, že došlo k odinstalování Windowsové služby s názvem začínající „Service system plusPortal“.
  2. V souboru plusPortal.config nastavte v sekci „ApplicationConfig“ parametr „APITimer“ na hodnotu „true“ takto <APITimer>true</APITimer>.
  3. Přihlaste se do plusPortalu, přejděte do nastavení Časovače (Nastavení / Konfigurace / Časovač). Postupně si stáhněte dva powershell skripty pomocí odkazu:
    - Stáhnout registrační skript naplánované úlohy
    - Stáhnout skript
  4. Oba skripty uložte do vhodné složky např. C:\plusPortalAPITimer\ na serveru, kde je provozován plusPortal. První skript je určen pro registraci naplánované úlohy. Tato naplánovaná úloha pravidelně bude zajišťovat spouštění druhého skriptu.
    Soubory stažené z webové aplikace mohou být blokové. Pokud soubory nebude možné upravit nebo spustit, je možné využít následující powershell skripty k odblokování nebo nastavení politiky dle Vašich pravidel.
    Unblock-File -Path C:\plusPortalAPITimer\TaskRegister.ps1
    Unblock-File -Path C:\plusPortalAPITimer\timer.ps1
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
    Pokud máte na jednom serveru nainstalováno více instancí systému plusPortal např. pro testovací prostředí, je nutné názvy složek odlišit např. C:\plusPortalAPITimerTest\. Před spouštěním powershell skriptů upravte cesty ke skriptu a název naplánované úlohy.
  5. V prvním skriptu sloužícím pro registraci naplánované úlohy zkontrolujte a upravte hodnotu proměnné s názvem „ScriptPath“ s ohledem na umístění a název souboru „timer.ps1“ (druhý stažený skript).
  6. Ve druhém skriptu sloužícím ke spuštění API rozhraní plusPortalu zajišťující provedení naplánovaných úloh zkontrolujte a upravte URL adresu plusPortalu. Doporučujeme nastavit zabezpečené spojení HTTPS, pokud je nakonfigurované.
  7. Spusťte aplikaci Windows PowerShell pod účtem, pod kterým bude naplánovaná úloha zaregistrována a provozována (účet musí mít administrátorská oprávnění) a zajistěte spuštění prvního skriptu "TaskRegister.ps1". Po jeho spuštění ověřte, zda provedení všech příkazů proběhlo úspěšně. Následně povolte pravidelné spouštění (po registraci je zakázáno její spouštění). Naplánovaná úloha je dostupná v systému Windows v plánovači úloh v menu Microsoft / Windows / PowerShell / ScheduledJob.
  8. Ověřte, zda dochází k pravidelnému provedení naplánovaných úloh. Pokud nedochází k pravidelnému spouštění naplánovaných úloh postupně proveďte kontrolu:
    - Zda je naplánovaná úloha povolena.
    - Zda poslední spuštění naplánované úlohy bylo provedeno úspěšně.
    - Zda poslední spuštění powershell skriptu bylo provedeno úspěšně. Případná hlášení v systému Windows jsou součástí protokolu v Event Viewer v menu Application and Services Logs / Microsoft / Windows / Task Scheduler / Operational.
    - Zda poslední spuštění API metody v plusPortalu bylo provedeno úspěšně. Případná hlášení v systému Windows jsou součástí protokolu v Event Viewer v menu Windows Logs / Application.
    - Zda v plusPortalu u naplánované úlohy je v protokolu uvedeno, že provedení bylo úspěšné.
V některých případech pro správné logování událostí v Event logu je nutné upravit druhý skript "timer.ps1" o doplňující parametr "UseBasicParsing":
Return Invoke-WebRequest -Uri $URL -Method POST -Body $BODY -UseBasicParsing

Tato Konfirgurace je závislá na provozovaném prostředí.


Jak hodnotíte článek?