( Django ) Flower не видит задач Celery

Кратко:

  • Flower не отображает ни одной задачи celery

Я абсолютный новичок в Celery, Flower, по-этому вообще не понимаю что происходит, не говоря уже о том, что при первом запуске Flower - он отображал задачу, но после перезапуска задачи Flower перестал работать и более не подавал сигналов жизни.

И так-же я загулил уже все что мог, нашел все похожие проблемы, но ни одно из предоставленных решений мне не подошло.


Команда запуска Celery:

celery -A config beat -l debug

Команда запуска Flower:

celery -A config flower --adress=127.0.0.1 --port=5555 -l info

Ответ от Flower:

[I 220824 15:16:06 command:162] Visit me at http://localhost:5555
[I 220824 15:16:06 command:170] Broker: redis://127.0.0.1:6379/0
[I 220824 15:16:06 command:171] Registered tasks:
    ['bank_controller.tasks.task_checking_credits_status',     
     'celery.accumulate',
     'celery.backend_cleanup',
     'celery.chain',
     'celery.chord',
     'celery.chord_unlock',
     'celery.chunks',
     'celery.group',
     'celery.map',
     'celery.starmap']
[W 220824 15:16:06 command:177] Running without authentication 
[I 220824 15:16:06 mixins:225] Connected to redis://127.0.0.1:6379/0
[W 220824 15:16:07 inspector:42] Inspect method revoked failed
[W 220824 15:16:07 inspector:42] Inspect method stats failed
[W 220824 15:16:07 inspector:42] Inspect method reserved failed
[W 220824 15:16:07 inspector:42] Inspect method active failed  
[W 220824 15:16:07 inspector:42] Inspect method conf failed    
[W 220824 15:16:07 inspector:42] Inspect method registered failed
[W 220824 15:16:07 inspector:42] Inspect method active_queues failed
[W 220824 15:16:07 inspector:42] Inspect method scheduled failed

celery.py:

import os
from celery import Celery
from celery.schedules import crontab



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


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


# Celery beat tasks

app.conf.beat_schedule = {
    'checking-credits-status' : {
        'task' : 'bank_controller.tasks.task_checking_credits_status',
        'schedule' : crontab( minute = '*/1' )
    }
}

task.py:

from config.celery import app

from .services.general_bank_service import checking_credits_status



@app.task
def task_checking_credits_status():
    checking_credits_status()

settings.py ( настройки Celery/Redis ):

# REDIS RELATED SETTINGS

REDIS_HOST = '127.0.0.1'
REDIS_PORT = '6379'

# CELERY SETTINGS

CELERY_BROKER_URL = f'redis://{REDIS_HOST}:{REDIS_PORT}/0'
CELERY_BROKER_TRANSPORT_OPTIONS = { 'visibility_timeout' : 3600 }
CELERY_RESULT_BACKEND = f'redis://{REDIS_HOST}:{REDIS_PORT}/0'
CELERY_ACCEPT_CONTENT = [ 'application/json' ]
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'

Команда пинга:

celery -A config inspect ping

Ответ пинга:

Error: No nodes replied within time constraint

Хотя, я допускаю что пинг я могу использовать не правильно.


Зависимости:

Django==4.1
djangorestframework==3.13.1
redis==4.3.4
celery==5.2.7
flower==1.2.0

На Flower 1.4.0 абсолютно та же проблема.

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