我正在使用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
如何解决这个问题?