Django + Celery + Redis + Супервизор, повторяющий, пересылающий и дублирующий задачи

Я настроил на своем сервере Ubuntu и Apache проект Django, в котором я использую celery для управления и обработки backgound заданий/задач. Проблема, которую я вижу, заключается в том, что когда есть очередь заданий и управляется 3, если 4-е, 5-е... не начинают выполняться в течение часа, они дублируются.

Вот что у меня есть... Supervisor conf

[program:project_app]
command=/path/celery -A prject worker --loglevel=INFO -c 3
directory=/path/
user=www-data
autostart=true
autorestart=true
stdout_logfile=/path/celeryd.log
redirect_stderr=true

celery.py

from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')

app = Celery('project')

app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

init.py

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ('celery_app',)

settings.py

...
BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = 'America/Mexico_City'
...

Способ выполнения:

@shared_task()
def do_some(args):
# code

do_some.delay(args)

[2024-06-09

22:49:46,855: INFO/MainProcess] Задача haus.celery_tasks.do_some[8bc9dc9e-493a-4b1d-b81a-f758c8ef49a3] получена [2024-06-09 22:49:57,021: INFO/MainProcess] Получена задача haus.celery_tasks.do_some[a58ba0cb-4881-430d-b652-a8d4edd704ea] [2024-06-09 22:50:13,631: INFO/MainProcess] Задача haus.celery_tasks.do_some[5cd7f9d3-c77f-4331-8459-9889e19f34af] получена [2024-06-09 22:52:25,640: INFO/MainProcess] Задача haus.celery_tasks.do_some[cd98b3e3-022d-4785-a89e-128a659c8e95] получена [2024-06-09 22:52:51,268: INFO/MainProcess] Задача haus.celery_tasks.do_some[54a35f23-426a-463f-9e72-e733cdd79ed2] получена [2024-06-09 22:52:58,362: INFO/MainProcess] Задача haus.celery_tasks.do_some[b6190664-179e-4316-8275-3b184e5b3cdc] получена [2024-06-09 23:53:43,860: INFO/MainProcess] Задача haus.celery_tasks.do_some[b6190664-179e-4316-8275-3b184e5b3cdc] получена [2024-06-09 23:53:43,898: INFO/MainProcess] Задача haus.celery_tasks.do_some[cd98b3e3-022d-4785-a89e-128a659c8e95] получена [2024-06-09 23:53:43,909: INFO/MainProcess] Задача haus.celery_tasks.do_some[54a35f23-426a-463f-9e72-e733cdd79ed2] получена [2024-06-10 00:32:37,245: INFO/ForkPoolWorker-3] Задача haus.celery_tasks.do_some[8bc9dc9e-493a-4b1d-b81a-f758c8ef49a3] завершилась успешно за 6170.361236825585с: None [2024-06-10 00:32:51,723: INFO/ForkPoolWorker-2] Задача haus.celery_tasks.do_some[a58ba0cb-4881-430d-b652-a8d4edd704ea] завершилась за 6174.678496623412с: None [2024-06-10 00:32:58,670: INFO/ForkPoolWorker-4] Задача haus.celery_tasks.do_some[5c

Здесь

вы можете увидеть, как первые 2 выполняются один раз, а последние 2 повторяются или выполняются повторно [2024-06-09 22:49:46,855: INFO/MainProcess] Получена задача haus.celery_tasks.do_some[8bc9dc9e-493a-4b1d-b81a-f758c8ef49a3] [2024-06-09 22:49:57,021: INFO/MainProcess] Получена задача haus.celery_tasks.do_some[a58ba0cb-4881-430d-b652-a8d4edd704ea] [2024-06-09 22:50:13,631: INFO/MainProcess] Задача haus.celery_tasks.do_some[5cd7f9d3-c77f-4331-8459-9889e19f34af] получена [2024-06-09 22:52:25,640: INFO/MainProcess] Задача haus.celery_tasks.do_some[cd98b3e3-022d-4785-a89e-128a659c8e95] получена [2024-06-09 22:52:58,362: INFO/MainProcess] Получена задача haus.celery_tasks.do_some[b6190664-179e-4316-8275-3b184e5b3cdc] [2024-06-09 23:53:43,860: INFO/MainProcess] Задача haus.celery_tasks.do_some[b6190664-179e-4316-8275-3b184e5b3cdc] получена [2024-06-09 23:53:43,898: INFO/MainProcess] Задача haus.celery_tasks.do_some[cd98b3e3-022d-4785-a89e-128a659c8e95] получена [2024-06-10 00:32:37,245: INFO/ForkPoolWorker-3] Задача haus.celery_tasks.do_some[8bc9dc9e-493a-4b1d-b81a-f758c8ef49a3] завершилась успешно за 6170.361236825585с: None [2024-06-10 00:32:51,723: INFO/ForkPoolWorker-2] Задача haus.celery_tasks.do_some[a58ba0cb-4881-430d-b652-a8d4edd704ea] завершилась за 6174.678496623412с: None [2024-06-10 00:32:58,670: INFO/ForkPoolWorker-4] Задача haus.celery_tasks.do_some[5cd7f9d3-c77f-4331-8459-9889e19f34af] завершилась за 6165.020594196394с: None [2024-06-10 02:11:18,380: INFO/ForkPoolWorker-1] Задача haus.celery_tasks.do_some[c

Помогите, пожалуйста

Мне нужно, чтобы каждый из них выполнялся только один раз

Вернуться на верх