django-celery不能使用CONN_MAX_AGE

时间:2014-09-26 10:19:08

标签: python mysql django celery django-celery

我正在使用Django 1.6.5,芹菜3.1.13和django-celery 3.1.10.Django自1.6以来有一个新的配置“CONN_MAX_AGE”用于数据库池,但问题是,当我配置没有CONN_MAX_AGE的数据库时,芹菜运作良好。但是如果我将CONN_MAX_AGE设置为任何值,那么芹菜将报告(OperationalError)(2006,'MySQL服务器已经消失')并且不会被击败。

我的配置是:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydb',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': 'localhost',
        'PORT': '3306',
        'CONN_MAX_AGE': 28000,  # if comment this line out, celery works well
    },
}

BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp'
CELERY_SEND_EVENTS = True
CELERY_TASK_RESULT_EXPIRES = 3600

CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERYBEAT_MAX_LOOP_INTERVAL = 60
CELERY_IMPORTS = ('library.task',)

import djcelery

djcelery.setup_loader()

然后用

运行芹菜
python manage.py celeryd -B -lDEBUG

如何解决这个问题?

0 个答案:

没有答案