Python 芹菜任务未通过redis分配
使用芹菜/redis,我尝试创建一个任务,但在使用下面的代码检查芹菜工作信息时Python 芹菜任务未通过redis分配,python,django,redis,celery,Python,Django,Redis,Celery,使用芹菜/redis,我尝试创建一个任务,但在使用下面的代码检查芹菜工作信息时 芹菜-企业内部网\u项目工人-l信息 我无法在那里添加任务 设置.py BROKER_URL = 'redis://localhost:6379' CELERY_RESULT_BACKEND = 'redis://localhost:6379' CELERY_ACCEPT_CONTENT = ['application/json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RES
芹菜-企业内部网\u项目工人-l信息
我无法在那里添加任务
设置.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',)
芹菜
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))
我的任务.py
from celery.decorators import task
from celery import shared_task
@shared_task
def add(a,b):
d = a + b
return d
下面是服务器日志
[任务]
. intranet\u project.芹菜.debug\u任务
[2020-02-26 19:38:59051:INFO/MainProcess]已连接到redis://localhost:6379//
[2020-02-26 19:38:59160:INFO/MainProcess]混合:搜索邻居
[2020-02-26 19:39:00379:INFO/MainProcess]mingle:all one我看不到执行任务的代码 view.py(或您希望从中触发任务的任何位置) 然后,您应该会在芹菜日志中看到这样一行:
[2020-02-26 14:11:40765:INFO/MainProcess]收到的任务:intranet\u项目。任务。添加[XXXXXXXXX-xxxx-xxxx-XXXXX-XXXXXXXXXXXXX]您如何调用您的任务?令人震惊的是,一切都安排得很好。在调用任务时,请记住使用异步调用
.delay()
。e、 g.add.delay(2,3)
如果您确实触发了任务,但任务仍然不起作用,请尝试在settings.py文件中注释掉这行“芹菜时区=时区”
from .my_tasks import add
def action(request):
add.delay(2,2)