Как правильно выполнить запланированное задание в django с помощью django -celery? - PullRequest
0 голосов
/ 23 апреля 2020

Я новичок в django и недавно добавляю django -celery 3.3.1 в свой проект. Я хочу добавить запланированное задание с помощью сельдерея от django admin, но не могу включить работника

my init :

from __future__ import absolute_import

# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app

My celery.py

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

# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'akses.settings')
app = Celery('akses')

# Using a string here means the worker will not have to
# pickle the object when using Windows.
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)


@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

my seeting.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',  
    'django.contrib.staticfiles',
    'djcelery',  # <-------------*
]


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 = 'Asia/Jakarta'

import djcelery
djcelery.setup_loader()

Возвращает ошибку:

Тип исключения: SyntaxError

Значение исключения: неверный синтаксис ( redis.py, строка 815)

Моя django версия: 3.0.3 python версия: 3.7.1

Как заставить его работать должным образом?

...