70

Trying to start Celery first time but issues error as below, i have installed redis and its starting fine , but still somehow django seems to have issues with it ,

File "<frozen importlib._bootstrap_external>", line 848, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/atif/Documents/celery_test/celery-env/lib/python3.8/site-packages/kombu/transport/redis.py", line 263, in <module>
    class PrefixedStrictRedis(GlobalKeyPrefixMixin, redis.Redis):
AttributeError: 'NoneType' object has no attribute 'Redis'

Celery.py

from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'celery_test.settings')



    app = Celery('celery_test',)
    
    app.config_from_object('django.conf:settings')
    
    # Load task modules from all registered Django apps.
    app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
    
    
    @app.task(bind=True)
    def debug_task(self):
        print(f'Request: {self.request!r}')

Settings

#celery stuff ---------------
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/Kolkata'

celery_module/tasks.py

from celery import Celery

app = Celery('tasks',)

@app.task
def add(x, y):
    return x + y
1
  • 3
    pip install -U celery[redis] Commented Nov 30, 2021 at 6:26

3 Answers 3

143

Try to install Redis as in your virtual environment as well:

pip install Redis
Sign up to request clarification or add additional context in comments.

Comments

9

Install redis globally with

pip install redis

OR (if you use pipenv)

The error in my case occurs as the redis package in the environment is not used when running

python -m celery -A *django_app* worker

If you use pipenv to manage you python environment you could run the command above as:

pipenv run python -m celery -A *django_app* worker

Comments

1

If you use Docker Compose, me helped to add redis to file requirements.txt

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.