1

Using Celery/redis i tried creating a task, But on checking the celery working info with the below code celery -A intranet_project worker -l info I am unable to get the task added there.

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 = TIME_ZONE

init.py

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

__all__ = ('celery_app',)

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', 'intranet_project.settings')
app = Celery('intranet_project')

# 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()


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

my_task.py

from celery.decorators import task
from celery import shared_task

@shared_task
def add(a,b):
    d = a + b
    return d

Below is the server log

[tasks] . intranet_project.celery.debug_task

[2020-02-26 19:38:59,051: INFO/MainProcess] Connected to redis://localhost:6379// [2020-02-26 19:38:59,160: INFO/MainProcess] mingle: searching for neighbors [2020-02-26 19:39:00,379: INFO/MainProcess] mingle: all alone

1
  • How are you calling your task? appaerently is everything well set. Remember to user the async call .delay() when calling your task. e.g. add.delay(2, 3) Commented Feb 26, 2020 at 22:08

2 Answers 2

1

I don`t see the code from where you execute your task.

view.py (or wherever you want to trigger the task from)

from .my_tasks import add

def action(request):
    add.delay(2,2)

You should then see a line like this appear in your celery log:

[2020-02-26 14:11:40,765: INFO/MainProcess] Received task: intranet_project.tasks.add[xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx]

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

1 Comment

If you do trigger your task and it still does not work, try and comment out this line "CELERY_TIMEZONE = TIME_ZONE" in your settings.py file
0

I know it's a late response, but in order to check that celery info, now we need to use INFO

celery -A intranet_project worker -l INFO

instead of info

celery -A intranet_project worker -l info

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.