Proby is a scheduled task monitoring service. It notifies you when your scheduled tasks (executed by cron or some other scheduler) fail to start on time, or fail to finish when expected. Proby also displays historical information about your tasks, like a trend of the task’s recent run times.
Proby was created to fill a hole in Signal‘s monitoring infrastructure. Time after time we would discover that regularly scheduled tasks weren’t executing like they should have been. Proby put an end to that.
- Easily create tasks to monitor by uploading your system’s crontab
- Alarms via SMS or Email
- Several task-level settings to control when alarms are sent, and to whom
- Mobile optimized user interface
- Easy integration with Ruby or Resque jobs, via the Proby gem
One Monday morning in August, 2011, I was browsing through open issues in our bug tracker looking for something to work on. It was my week on “technical support”. At Signal, the engineer on technical support spends a week working on non customer facing issues with our infrastructure, process, etc, that are too large to simply knock out as you encounter them.
An issue entitled “Add monitoring to detect jobs that do not start” caught my attention. We already had monitoring in place to alert us when a job fails. However, we had nothing to alert us if that job never starts in the first place. We have many scheduled jobs that run in the background, some pretty important, and have been bitten on more than one occasion by reoccurring jobs that had not run for quite some time.
I bounced some ideas off the team, and we all agreed that that it made sense to create a new application to monitor our scheduled tasks. The app would know what is supposed to run, and when. We would change all of our jobs to “ping” the app when they start and finish. If the app detects that something did not run when it was supposed to, or did not finish when it was supposed to, it could alert the team.
And just like that, Proby was born.
“What’s with the name?”, you ask? I likened the application to a probation officer, keeping an eye on wayward tasks.
Since going live, Proby has caught several issues with our scheduled jobs that would have gone unnoticed…many more than I would have anticipated. It has also evolved into a fairly complete application.