Windows aplikace pro plánování a vykonávání automatizovaných úloh
Windows aplikace je využitelná pro plánování, spouštění a správu automatizovaných úloh. Vznikla jako praktický nástroj pro situace, kdy je potřeba pravidelně zpracovávat data, volat externí služby, odesílat informace na webhooky nebo spouštět vlastní logiku bez nutnosti stavět pro každý scénář samostatnou aplikaci.
Projekt jsem navrhl jako flexibilní scheduler, který kombinuje pravidelné spouštění úloh,
práci s daty a podporu vlastních C# skriptů. Díky tomu lze jednodušší integrace řešit přímo
konfigurací a složitější scénáře doplnit skriptem v souboru .csx.
Co aplikace řeší
- pravidelné spouštění úloh podle časového plánu,
- odesílání dat na webhooky a externí API endpointy,
- zpracování datových souborů ve formátech XML, CSV nebo JSON,
- spouštění vlastních C# skriptů ve formátu
.csx, - automatizaci opakovaných integračních a provozních úloh,
- lokální běh na Windows bez závislosti na cloudové službě.
Skriptování přes .csx
Jednou z klíčových částí aplikace je možnost spouštět vlastní skripty v C#.
Skripty ve formátu .csx umožňují doplnit vlastní logiku bez kompilace celé aplikace.
Lze v nich pracovat s daty, volat knihovny, připravovat payloady pro API, transformovat soubory
nebo skládat složitější workflow podle konkrétní potřeby.
Díky využití Roslynu a C# scriptingu může scheduler podporovat širokou škálu knihoven a scénářů. To z aplikace dělá univerzálnější nástroj než běžný plánovač, který umí pouze spustit pevně daný příkaz.
Typické použití
| Scénář | Popis |
|---|---|
| Webhooky | Pravidelné odesílání připravených dat na externí endpointy nebo integrační platformy. |
| Zpracování souborů | Načtení XML, CSV nebo JSON souborů, transformace dat a jejich další předání. |
| Datové integrace | Propojení lokálních dat, externích API a vlastních transformačních pravidel. |
| Automatizace provozu | Pravidelné úlohy, které mají běžet bez ručního zásahu na Windows prostředí. |
| Vlastní skripty | Spouštění .csx skriptů pro scénáře, které nejde rozumně pokrýt jen konfigurací. |
Technické řešení
Aplikace je postavená na platformě .NET 8 a využívá ekosystém C# knihoven pro plánování, skriptování, konfiguraci, logování, HTTP komunikaci a práci s lokální databází. Pro samotné plánování úloh je vhodná architektura nad schedulerem typu Quartz.NET, zatímco spouštění skriptů stojí na Roslynu a C# scriptingu.
Lokální perzistence umožňuje uchovávat konfiguraci úloh, jejich stav nebo historii běhu. Aplikace tak může fungovat jako samostatný nástroj pro interní automatizace bez nutnosti nasazovat serverovou infrastrukturu nebo cloudový orchestrátor.
Moje role
- návrh architektury Windows aplikace,
- implementace plánování a pravidelného spouštění úloh,
- návrh podpory pro uživatelské
.csxskripty, - integrace knihoven pro C# scripting a plánování úloh,
- řešení práce s konfiguračními daty a lokálním úložištěm,
- příprava aplikace pro praktické integrační scénáře s webhooky, API a datovými soubory.
Výsledek
Výsledkem je univerzální Windows scheduler pro interní automatizace a datové integrace.
Hodí se pro úlohy, které jsou příliš specifické pro běžné no-code nástroje,
ale zároveň nedávají smysl jako samostatná aplikace pro každý jednotlivý scénář.
Díky podpoře .csx skriptů lze systém rozšiřovat podle potřeby a postupně do něj
přidávat další integrační logiku.