mirror of
https://github.com/Viren070/MediaFusion.git
synced 2025-12-01 23:21:11 +01:00
32 lines
738 B
Python
32 lines
738 B
Python
# Desc: Setup the dramatiq broker and middleware.
|
|
import dramatiq
|
|
from dramatiq.brokers.redis import RedisBroker
|
|
from dramatiq.middleware import (
|
|
AsyncIO,
|
|
AgeLimit,
|
|
TimeLimit,
|
|
ShutdownNotifications,
|
|
Callbacks,
|
|
Pipelines,
|
|
Prometheus,
|
|
)
|
|
|
|
from api.middleware import MaxTasksPerChild, Retries, TaskManager
|
|
from db.config import settings
|
|
|
|
# Setup the broker and the middleware
|
|
redis_broker = RedisBroker(url=settings.redis_url)
|
|
redis_broker.middleware = [
|
|
Prometheus(),
|
|
AgeLimit(),
|
|
TimeLimit(),
|
|
ShutdownNotifications(),
|
|
Callbacks(),
|
|
Pipelines(),
|
|
Retries(),
|
|
AsyncIO(),
|
|
MaxTasksPerChild(settings.worker_max_tasks_per_child),
|
|
TaskManager(),
|
|
]
|
|
dramatiq.set_broker(redis_broker)
|