Job API
This module defines RPC contracts for the Dendra background job processing system. It covers scheduler operations used to create, manage, and inspect asynchronous work across the platform.
These schemas support system tasks such as ingestion pipelines, scheduled processing, and operational workflows that run outside interactive API requests.
Scheduler
Section titled “Scheduler”Scheduler defines the types and methods for creating and managing background jobs that are processed by workers.
classDiagram
class Job {
JobState job_state
}
class JobStatus {
JobState job_state
}
class JobOptions
class JobSpec
class JobRunDetails
class WorkerMeta
class JobHistoryRecord {
JobState job_state
}
Job *-- JobSpec : spec
Job *-- JobOptions : options
Job *-- JobRunDetails : run_details
JobRunDetails --> WorkerMeta : worker
JobRunDetails --> JobStatus : status
JobHistoryRecord --> WorkerMeta : worker
Job Spec
Section titled “Job Spec”Job Spec defines the specifications needed for the various job types processed by the system.
classDiagram class Job class JobSpec class GenericSpec class ExtractHoboTimeFrameSpec class GenerateImageVariantsSpec class SyncMetadataSpec class OrchestrationSpec class FutureSpec class ChangeEvent Job --> JobSpec : uses JobSpec <|-- GenericSpec : oneof JobSpec <|-- ExtractHoboTimeFrameSpec : oneof JobSpec <|-- GenerateImageVariantsSpec : oneof JobSpec <|-- OrchestrationSpec : oneof JobSpec <|-- SyncMetadataSpec : oneof JobSpec <|-- FutureSpec : planned SyncMetadataSpec --> ChangeEvent : references
Worker
Section titled “Worker”Worker defines execution-plane types for running jobs, reporting progress, and publishing worker/job status events.
classDiagram
class JobStatus {
JobState job_state
}
class JobStatusEvent
class WorkerStatusEvent
class WorkerMeta
JobStatusEvent *-- JobStatus : job_statuses
JobStatusEvent --> WorkerMeta : worker
WorkerStatusEvent --> WorkerMeta : worker
Cache defines persisted payloads for specific job types.
classDiagram class ExtractHoboTimeFrameCache