Задачи Celery при указании собственного vhost в rabbitmq не выполняются - PullRequest
0 голосов
/ 27 августа 2018

Я использую сельдерей и rabbitmq в качестве брокера для выполнения моих асинхронных задач в моих проектах django.Когда я использовал URL-адрес брокера по умолчанию, все работало нормально, но на моем производственном сервере мне нужно было запустить два проекта django, для каждого из которых потребуется менеджер асинхронных задач.Теперь, чтобы сделать это, я создал два vhosts в rabbitmq.Затем я изменил свой CELERY_BROKER_URL в settings.py на amqp: // guest: guest @ localhost: 5672 / vhost_name в обоих проектах.

Затем я запустил его, используя supervisor worker с командой celery -A alice worker-l информация (Алиса - это корень проекта, в котором находится celery.py).Как ни странно, один мой проект работает нормально, но в другом задание получено, но не выполнено!Итак, для этого проекта я изменил его на CELERY_BROKER_URL по умолчанию, и он начал работать, а также запустил задачи, которые не были выполнены.

Для отладки я запустил то же самое на своей локальной машине и то же самоеполучилось.Конфигурации проекта в основном схожи, кроме количества задач.В первом проекте (который работал) было 3 задачи, а в другом - 8 задач.

Это ошибка?Если нет, то кто-нибудь может указать мне правильное направление?

celery.py в корне проекта

import os
import logging
from celery import Celery
from decouple import config
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'alice.settings')

app = Celery('alice')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

if config("ENVIRONMENT") == "PRODUCTION":
    from raven import Client
    from raven.contrib.celery import register_signal, register_logger_signal
    from django.conf import settings
    client = Client(settings.RAVEN_DSN)
    register_logger_signal(client)
    register_logger_signal(client, loglevel=logging.INFO)
    register_signal(client)
    register_signal(client, ignore_expected=True)

версии сельдерея

amqp==2.2.2
billiard==3.5.0.3
celery==4.1.0
kombu==4.1.0
vine==1.1.4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...