Sorry for taking such a long break from the blog. In the last three weeks I’ve been working on the logging system and, also, I’ve taken a small vacation.
Last time I was talking about me having problems with Nagios. Those problems are now gone. I tested it on my machine and it worked well, but, in the end, I decided not to use it. There are two main reasons behind this. Firstly, Nagios is a bit of an overkill for what we need. It’s too complex and it would be too much to use it just to log our processes. Secondly, it doesn’t run on Windows. (Speaking of Windows, I have problems linking the OpenCL library. Sometimes it works, other times it doesn’t.)
The system I created for logging uses ini files that store data about the project ran (one file for each run). I works in a similar way to the execution restore system. It uses the signals emitted by the QProcess and Executie classes. To create a nice interface with statistics and graphs I used QCustomPlot, a free library for plotting.
Another improvement to the project is the new execution model. Before, the execution order was created by sorting the workflow graph using DFS. All devices would run a task at a time, each device with a different input from the inputs folder(s). The new execution model can run multiple different tasks, if they are independent. It doesn’t use DFS for topological sort. Insead, for each step, it removes the tasks that have 0 dependencies from the unsorted graph and adds them to the sorted execution order.
My next goal is the editor. I will talk about it next time.