import json

import redis

from app.core.config import get_settings

settings = get_settings()
_redis_client = redis.Redis.from_url(settings.redis_url)


def publish_job_event(resource_id: str, event: dict) -> None:
    """Publish a job progress event. Called from Celery workers (sync context)."""
    _redis_client.publish(f"jobs:{resource_id}", json.dumps(event))
