Python Django启动的芹菜任务未运行
在Django视图中的一个POSTAPI中,我有以下内容:Python Django启动的芹菜任务未运行,python,django,django-celery,Python,Django,Django Celery,在Django视图中的一个POSTAPI中,我有以下内容: data_processing.apply_async( args=[data], queue='image', countdown=10 ) from __future__ import absolute_import import os from celery import Celery from django.conf import settings # noqa from kombu import
data_processing.apply_async(
args=[data], queue='image', countdown=10
)
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings # noqa
from kombu import Queue
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.development')
app = Celery('config')
app.conf.update(
BROKER_URL='.....',
CELERY_ACCEPT_CONTENT=['json'],
CELERY_TASK_SERIALIZER='json',
CELERY_RESULT_SERIALIZER='json',
CELERY_QUEUES=(
Queue('default', routing_key='default'),
Queue('image', routing_key='image'),
),
CELERY_DEFAULT_QUEUE='default',
CELERY_DEFAULT_EXCHANGE='default',
CELERY_DEFAULT_ROUTING_KEY='default',
CELERY_MAX_RETRY=3,
CELERY_RETRY_COUNTDOWN=60*15,
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
)
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
在芹菜任务中,我有:
@shared_task
def data_processing(data):
dataid = data['dataid']
print "ABSBBSBBB"
print "ANSNNDNDN"
过帐数据期间没有错误,但打印语句不起作用。控制台上没有打印任何内容,但数据发布成功
编辑:在芹菜.py中,我有以下内容:
data_processing.apply_async(
args=[data], queue='image', countdown=10
)
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings # noqa
from kombu import Queue
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.development')
app = Celery('config')
app.conf.update(
BROKER_URL='.....',
CELERY_ACCEPT_CONTENT=['json'],
CELERY_TASK_SERIALIZER='json',
CELERY_RESULT_SERIALIZER='json',
CELERY_QUEUES=(
Queue('default', routing_key='default'),
Queue('image', routing_key='image'),
),
CELERY_DEFAULT_QUEUE='default',
CELERY_DEFAULT_EXCHANGE='default',
CELERY_DEFAULT_ROUTING_KEY='default',
CELERY_MAX_RETRY=3,
CELERY_RETRY_COUNTDOWN=60*15,
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
)
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
在config/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
芹菜的登录设置如何?有可能是芹菜.log或类似的东西中的代码。你能在定义芹菜应用程序的地方发布代码吗?你用什么命令创建芹菜工人,芹菜模块的init.py?@JensAstrup:我添加了一些设置。我是否需要先运行
python manage.py syncdb
,然后再运行python manage.py runserver
?这很可能是日志设置问题,而不是任务代码问题。@User\u Targaryen出于好奇,您使用的是哪种版本的python?如果这是3,您的打印语句可能出错。芹菜工人可能正在捕获这些错误。芹菜的日志记录设置如何?有可能是芹菜.log或类似的东西中的代码。你能在定义芹菜应用程序的地方发布代码吗?你用什么命令创建芹菜工人,芹菜模块的init.py?@JensAstrup:我添加了一些设置。我是否需要先运行python manage.py syncdb
,然后再运行python manage.py runserver
?这很可能是日志设置问题,而不是任务代码问题。@User\u Targaryen出于好奇,您使用的是哪种版本的python?如果这是3,您的打印语句可能出错。芹菜工人可能会捕捉到这些错误。