Alarms

The Alarms system in Cruncher provides automatic notifications and status tracking for running Studies and Schedules. When enabled, Cruncher writes JSON alarm files to a designated folder, allowing other applications or monitoring systems to detect study progress, warnings, or errors in near real time.

Purpose

Alarms provide a lightweight way to monitor Cruncher activity without using the user interface. Each alarm file records the current state of a Study or Schedule and is updated as processing progresses. They can be consumed by external systems for status dashboards, workflow triggers, or automated reporting.

Configuration

Alarm Files

Each alarm file is a JSON document describing the current execution state. The file name is derived from a hash of its contents ensuring uniqueness. The contents are a dictionary structure with the following values.

Example Alarm File Structure

			{
			"TIMESTAMP": 1725898168.2709,
			"ALARM_TYPE": "STUDY_WARNING",
			"MACHINE": "my_workstation",
			"SOURCE": "Future Hour Ahead 0043",
			"MESSAGE": "load_forecast may contain stale data",
			}
		

Alarm Types

Alarm Types can be enabled/disabled for individual Schedules/Studies based on a few general categories.

Heartbeat File

In addition to the individual alarm files, Cruncher can maintain a small “heartbeat” file named .heartbeat in the same directory. This file has not contents, but its Modification timestamp is updated at the interval specified by the Heartbeat setting confirming that Cruncher is still active. External monitors can use this file to detect unexpected shutdowns or stalled processes.

Integration

Alarm and heartbeat files are designed to be easily parsed by other systems. They can be used to trigger automation scripts, send email alerts, update dashboards, or integrate with enterprise scheduling systems. Because they use standard JSON, they can be read by Python, PowerShell, or any language with a JSON parser.