I’ve started a new project! I recently talked about my experiments with coconut-lang here: https://jaytuckey.name/2020/10/25/thoughts-on-coconut-the-compile-to-python-functional-language-extension/
I’ve now started a project using coconut! It’s what I’m calling a “Dead Man’s Switch” (DMS) monitoring tool. The idea is this:
- Every cron job / scheduled task sends an update to the DMS monitor
- The monitor records the updates and how long they are valid for
- One day the cron job dies, and stops working
- After the latest update expires, the DMS monitor marks that job as failed and an alert is sent to me
This project is inspired by https://healthchecks.io/, but is much much simpler. For my case I needed an internally hosted DMS monitor, and although healthchecks.io is open source and self-hostable it’s a much bigger project.
I also already have a Nagios monitoring system, so I didn’t need any alerting built into the DMS monitor. Instead, it groups the checks, and then provides an endpoint
/status/<groupname> that Nagios queries to see if any monitors in the group have failed.
It also uses an embedded sqlite database so there is no need to run a full-fat DB. For my needs sqlite is EASILY fast enough.