Running it
Is it healthy?
curl http://127.0.0.1:3333/api/v1/health # the API, its database and its files
curl http://127.0.0.1:9091/scheduler/status # the engines
The API answers 503 and names what's down when the database or the file store isn't reachable. The scheduler's /metrics speaks Prometheus, if you collect metrics.
The web app's status bar shows the same: the API's health, and how many jobs are running.
Logs
The API and the workers log to stdout, so your service manager keeps their logs. Each engine logs to its own file in the scheduler's log_dir. A failed job keeps its log in the PDM: open the job line under the document, or ask the API with GET /api/v1/jobs?status=failed.
Failed jobs
A job fails when ClassCAD can't do what it was asked, like a file it can't read, or after three tries when a worker kept disappearing. Upload a better file and a new job runs. Retry a failed job with POST /api/v1/jobs/<id>/retry.
Audit log
Every write is recorded: who, when, what, on which document. GET /api/v1/documents/<id>/audit returns a document's history, GET /api/v1/versions/<id>/audit a version's.