DEV Community

vladef
vladef

Posted on

Open source/free scheduler and monitoring tool

I am looking for a piece of software with the following scheduling and monitoring functionality:

  • Windows 10 x64 support
  • Scheduling various types of apps, e.g. python 3 scripts, bash scripts, console app
  • Monitoring all launched apps (running, finished or failed statuses)
  • Start/Restart/Pause/Stop a service (I know that my apps should be services in order to support that so it is nice to have)
  • Running in parallel multiple subflows with dependencies, possibly multiple dependencies but within 1 subflow everything acyclic (DAG). For example, I launch process 'a'. Processes 'b' and 'c' are waiting for finishing of the process 'a'. Processes 'b' and 'c' start together. After each process there is one or more processes that are waiting for the previous processes. For example, after 'b' there is 'd', after 'c' there is 'e'. 'd' start after 'b' ends, 'e' starts after 'c', not earlier and not later. Entire flow is cyclic, which means we return to the initial process. I am attaching a diagram that represents symantically the described flow where each block size roughly represents duration of of its execution and location its start & end. The Diagram I tried Power Automate Desktop(free) but it looks like it doesn't have process monitoring and running in parallel several subflows as described above. Is there an open source / free tool that might satisfy my requirements?

Thanks in advance!

Top comments (1)

Collapse
 
syxaxis profile image
George Johnson

Have you considered, RunDeck, Jenkins ( more of a CICD tool but can schedule calls which you'd have to code ), something self coded using a scheduler library in your favourite language? Not done tons with RunDeck but I believe it may have dependency management. Controlling services on Windows is just using Powershell cmdlets, you can call those out of anything that can run an EXE to call powershell.exe, easy one to cover. Lots of options but you may not easily find a one-size-fits-all util/app.

One thing to look for is a job sched util/app that allows REST API calls back in as well a pulling the log data back into the job sched system. I spend a lot of time working with AutomicUC4 job management system, it's pretty dumb and does nothing on it's own, it does however have very good dependency control between jobs and built-in scripting language that allows the job logs to be internally scanned and used to control more jobs and flows.