2024-12-10 23:31:35 +03:00
|
|
|
from kombu import Connection, Producer, Queue
|
|
|
|
from django.conf import settings
|
|
|
|
from clicker.celery import app
|
|
|
|
from misc.models import Setting
|
|
|
|
|
|
|
|
|
|
|
|
@app.task(autoretry_for=(Exception,), retry_backoff=True)
|
2025-05-31 16:15:06 +03:00
|
|
|
def deliver_setting(setting):
|
2024-12-10 23:31:35 +03:00
|
|
|
rabbitmq_conf = settings.RABBITMQ
|
|
|
|
dsn = f'{rabbitmq_conf["PROTOCOL"]}://{rabbitmq_conf["USER"]}:{rabbitmq_conf["PASSWORD"]}@{rabbitmq_conf["HOST"]}:{rabbitmq_conf["PORT"]}/'
|
2024-12-14 08:52:01 +03:00
|
|
|
queue = Queue(settings.SETTINGS_QUEUE_NAME, exchange='', routing_key=settings.SETTINGS_QUEUE_NAME, durable=True)
|
2024-12-10 23:31:35 +03:00
|
|
|
with Connection(dsn) as conn:
|
|
|
|
with conn.channel() as channel:
|
|
|
|
producer = Producer(channel)
|
|
|
|
producer.publish(
|
2025-05-31 16:15:06 +03:00
|
|
|
setting,
|
2024-12-10 23:31:35 +03:00
|
|
|
exchange='',
|
|
|
|
routing_key=settings.SETTINGS_QUEUE_NAME,
|
2024-12-14 08:52:01 +03:00
|
|
|
declare=[queue],
|
2024-12-10 23:31:35 +03:00
|
|
|
)
|