exceptions
exceptions
¶
Exception hierarchy for the Marianne daemon.
All daemon-specific exceptions inherit from DaemonError, enabling callers to catch broad (DaemonError) or narrow (e.g., ResourceExhaustedError). Follows the same flat hierarchy pattern as other Marianne modules (WorktreeError, ParallelExecutionError, etc.).
Classes¶
DaemonError
¶
Bases: Exception
Base exception for all daemon-related errors.
DaemonNotRunningError
¶
Bases: DaemonError
Raised when a client tries to communicate with a daemon that isn't running.
Typically detected via missing PID file or failed socket connection.
DaemonAlreadyRunningError
¶
Bases: DaemonError
Raised when starting a daemon while another instance is already running.
Detected via PID file check and process existence verification.
JobSubmissionError
¶
Bases: DaemonError
Raised when a job submission fails validation or cannot be queued.
Examples: invalid config path, unparseable YAML, workspace conflicts.
MethodNotFoundError
¶
Bases: DaemonError
Raised when the conductor doesn't recognize an IPC method.
This typically means the CLI is newer than the running conductor.
The user should restart the conductor to pick up code changes:
pip install -e ".[dev]" && mzt restart
ResourceExhaustedError
¶
Bases: DaemonError
Raised when daemon resource limits are exceeded.
Examples: max_concurrent_jobs reached, memory limit exceeded, API rate limit hit at the daemon level.