itcloud/backend/src/worker.py

36 lines
858 B
Python

"""RQ Worker for processing background tasks."""
import redis
from loguru import logger
from rq import Worker, Queue, Connection
from app.infra.config import get_settings
settings = get_settings()
def main():
"""Start RQ worker to process thumbnail generation tasks."""
logger.info("Starting RQ worker for thumbnail generation...")
# Parse Redis URL
redis_url = settings.redis_url
logger.info(f"Connecting to Redis: {redis_url}")
# Connect to Redis
redis_conn = redis.from_url(redis_url)
# Listen to 'thumbnails' queue
with Connection(redis_conn):
worker = Worker(
[Queue("thumbnails")],
connection=redis_conn,
name="thumbnail-worker",
)
logger.info("Worker started, listening for tasks...")
worker.work()
if __name__ == "__main__":
main()