Django/Celery在运行python时看不到调试日志管理.py跑

2024-04-19 21:51:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近把celery==3.1.0集成到我们的公司django项目中。请在下面找到目录结构和一些代码详细信息。在

website/
    apps/
        app1/
            forms.py
            models.py
            tasks.py
            urls.py
            views.py
        app2/
            forms.py
            models.py
            tasks.py
            urls.py
            views.py
        __init__.py
    settings/
        base.py <- contains base settings
        celery.py
        local.py <- contains dev/prod settings, imports all settings from base.py
__init__.py
urls.py
wsgi.py

website/apps/__init__.py

^{pr2}$

website/settings/celery.py

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

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'website.settings.local')

app = Celery('website.apps')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(settings.INSTALLED_APPS)


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

website/apps/app1/tasks.py

from __future__ import absolute_import
from celery import shared_task


@shared_task
def add(x, y):
    return x + y

website/settings/base.py中的芹菜设置:

BROKER_URL = 'amqp://guest:guest@localhost//'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERYD_HIJACK_ROOT_LOGGER = False
CELERYD_LOG_FILE = None
CELERY_REDIRECT_STDOUTS = False
CELERYD_LOG_LEVEL = 0

目前,我已经在我的机器上设置了DEBUG=True。运行python之后管理.py运行服务器,我在控制台上看不到任何调试日志。我只看到请求的url和提供的静态文件。在安装celery之前,我能够查看正在执行的SQL查询的调试日志。我使用django==1.4.12。任何帮助都将不胜感激。在


Tags: appsdjangofrompyimportapptaskbase