mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-01-26 05:58:30 +03:00
types and dispatcher changes for jobs
This commit is contained in:
parent
27068bbf05
commit
1c9c0f56f1
@ -28,6 +28,7 @@ from frigate.const import (
|
|||||||
UPDATE_CAMERA_ACTIVITY,
|
UPDATE_CAMERA_ACTIVITY,
|
||||||
UPDATE_EMBEDDINGS_REINDEX_PROGRESS,
|
UPDATE_EMBEDDINGS_REINDEX_PROGRESS,
|
||||||
UPDATE_EVENT_DESCRIPTION,
|
UPDATE_EVENT_DESCRIPTION,
|
||||||
|
UPDATE_JOB_STATE,
|
||||||
UPDATE_MODEL_STATE,
|
UPDATE_MODEL_STATE,
|
||||||
UPDATE_REVIEW_DESCRIPTION,
|
UPDATE_REVIEW_DESCRIPTION,
|
||||||
UPSERT_REVIEW_SEGMENT,
|
UPSERT_REVIEW_SEGMENT,
|
||||||
@ -60,6 +61,7 @@ class Dispatcher:
|
|||||||
self.camera_activity = CameraActivityManager(config, self.publish)
|
self.camera_activity = CameraActivityManager(config, self.publish)
|
||||||
self.audio_activity = AudioActivityManager(config, self.publish)
|
self.audio_activity = AudioActivityManager(config, self.publish)
|
||||||
self.model_state: dict[str, ModelStatusTypesEnum] = {}
|
self.model_state: dict[str, ModelStatusTypesEnum] = {}
|
||||||
|
self.job_state: dict[str, dict[str, Any]] = {} # {job_type: job_data}
|
||||||
self.embeddings_reindex: dict[str, Any] = {}
|
self.embeddings_reindex: dict[str, Any] = {}
|
||||||
self.birdseye_layout: dict[str, Any] = {}
|
self.birdseye_layout: dict[str, Any] = {}
|
||||||
self.audio_transcription_state: str = "idle"
|
self.audio_transcription_state: str = "idle"
|
||||||
@ -180,6 +182,19 @@ class Dispatcher:
|
|||||||
def handle_model_state() -> None:
|
def handle_model_state() -> None:
|
||||||
self.publish("model_state", json.dumps(self.model_state.copy()))
|
self.publish("model_state", json.dumps(self.model_state.copy()))
|
||||||
|
|
||||||
|
def handle_update_job_state() -> None:
|
||||||
|
if payload and isinstance(payload, dict):
|
||||||
|
job_type = payload.get("job_type")
|
||||||
|
if job_type:
|
||||||
|
self.job_state[job_type] = payload
|
||||||
|
self.publish(
|
||||||
|
"job_state",
|
||||||
|
json.dumps(self.job_state),
|
||||||
|
)
|
||||||
|
|
||||||
|
def handle_job_state() -> None:
|
||||||
|
self.publish("job_state", json.dumps(self.job_state.copy()))
|
||||||
|
|
||||||
def handle_update_audio_transcription_state() -> None:
|
def handle_update_audio_transcription_state() -> None:
|
||||||
if payload:
|
if payload:
|
||||||
self.audio_transcription_state = payload
|
self.audio_transcription_state = payload
|
||||||
@ -277,6 +292,7 @@ class Dispatcher:
|
|||||||
UPDATE_EVENT_DESCRIPTION: handle_update_event_description,
|
UPDATE_EVENT_DESCRIPTION: handle_update_event_description,
|
||||||
UPDATE_REVIEW_DESCRIPTION: handle_update_review_description,
|
UPDATE_REVIEW_DESCRIPTION: handle_update_review_description,
|
||||||
UPDATE_MODEL_STATE: handle_update_model_state,
|
UPDATE_MODEL_STATE: handle_update_model_state,
|
||||||
|
UPDATE_JOB_STATE: handle_update_job_state,
|
||||||
UPDATE_EMBEDDINGS_REINDEX_PROGRESS: handle_update_embeddings_reindex_progress,
|
UPDATE_EMBEDDINGS_REINDEX_PROGRESS: handle_update_embeddings_reindex_progress,
|
||||||
UPDATE_BIRDSEYE_LAYOUT: handle_update_birdseye_layout,
|
UPDATE_BIRDSEYE_LAYOUT: handle_update_birdseye_layout,
|
||||||
UPDATE_AUDIO_TRANSCRIPTION_STATE: handle_update_audio_transcription_state,
|
UPDATE_AUDIO_TRANSCRIPTION_STATE: handle_update_audio_transcription_state,
|
||||||
@ -284,6 +300,7 @@ class Dispatcher:
|
|||||||
"restart": handle_restart,
|
"restart": handle_restart,
|
||||||
"embeddingsReindexProgress": handle_embeddings_reindex_progress,
|
"embeddingsReindexProgress": handle_embeddings_reindex_progress,
|
||||||
"modelState": handle_model_state,
|
"modelState": handle_model_state,
|
||||||
|
"jobState": handle_job_state,
|
||||||
"audioTranscriptionState": handle_audio_transcription_state,
|
"audioTranscriptionState": handle_audio_transcription_state,
|
||||||
"birdseyeLayout": handle_birdseye_layout,
|
"birdseyeLayout": handle_birdseye_layout,
|
||||||
"onConnect": handle_on_connect,
|
"onConnect": handle_on_connect,
|
||||||
|
|||||||
@ -119,6 +119,7 @@ UPDATE_REVIEW_DESCRIPTION = "update_review_description"
|
|||||||
UPDATE_MODEL_STATE = "update_model_state"
|
UPDATE_MODEL_STATE = "update_model_state"
|
||||||
UPDATE_EMBEDDINGS_REINDEX_PROGRESS = "handle_embeddings_reindex_progress"
|
UPDATE_EMBEDDINGS_REINDEX_PROGRESS = "handle_embeddings_reindex_progress"
|
||||||
UPDATE_BIRDSEYE_LAYOUT = "update_birdseye_layout"
|
UPDATE_BIRDSEYE_LAYOUT = "update_birdseye_layout"
|
||||||
|
UPDATE_JOB_STATE = "update_job_state"
|
||||||
NOTIFICATION_TEST = "notification_test"
|
NOTIFICATION_TEST = "notification_test"
|
||||||
|
|
||||||
# IO Nice Values
|
# IO Nice Values
|
||||||
|
|||||||
@ -26,6 +26,15 @@ class ModelStatusTypesEnum(str, Enum):
|
|||||||
failed = "failed"
|
failed = "failed"
|
||||||
|
|
||||||
|
|
||||||
|
class JobStatusTypesEnum(str, Enum):
|
||||||
|
pending = "pending"
|
||||||
|
queued = "queued"
|
||||||
|
running = "running"
|
||||||
|
success = "success"
|
||||||
|
failed = "failed"
|
||||||
|
cancelled = "cancelled"
|
||||||
|
|
||||||
|
|
||||||
class TrackedObjectUpdateTypesEnum(str, Enum):
|
class TrackedObjectUpdateTypesEnum(str, Enum):
|
||||||
description = "description"
|
description = "description"
|
||||||
face = "face"
|
face = "face"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user