mirror of
https://github.com/reconurge/flowsint.git
synced 2026-07-23 14:24:58 -05:00
27 lines
748 B
Python
27 lines
748 B
Python
# tasks/logging.py
|
|
from typing import Dict
|
|
from app.core.celery import celery
|
|
import redis
|
|
import json
|
|
import logging
|
|
import os
|
|
from app.core.enums import EventLevel
|
|
from app.core.types import Event
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
@celery.task(name="emit_event")
|
|
def emit_event_task(log_id: str, sketch_id: str, log_type: EventLevel, content: Dict):
|
|
"""Celery task to emit a log event"""
|
|
try:
|
|
event = Event(
|
|
id=log_id,
|
|
sketch_id=sketch_id,
|
|
type=log_type,
|
|
payload=content
|
|
).model_dump_json()
|
|
redis_client = redis.from_url(os.getenv("REDIS_URI", "redis://127.0.0.1:6379/0"))
|
|
redis_client.publish(sketch_id, event)
|
|
except Exception as e:
|
|
raise
|