我的问题应该相当简单,与其说是需要拼命解决的问题,不如说是一个有趣的问题。谷歌无法给我我正在寻找的答案,所以我希望你的专业知识可以帮助我。我在用:
Django 1.4
Celery 2.5.5
Redis 2.4.10 (latest version on homebrew?)
我正在使用以下命令运行所有内容:
redis-server /usr/local/etc/redis.conf
foreman run python manage.py runserver
foreman run "python manage.py celeryd -E -B --loglevel=INFO"
foreman run python manage.py celerycam
在我的 settings.py 中,我为 Celery 设置了以下配置:
import djcelery
djcelery.setup_loader()
BROKER_URL = redis
CELERY_RESULT_BACKEND = 'redis'
CELERY_REDIS_HOST = "localhost"
CELERY_REDIS_PORT = 6379
CELERY_REDIS_DB = 0
CELERY_SEND_TASK_ERROR_EMAILS = True
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_TASK_RESULT_EXPIRES = 172800 # 48 hours.
有了这个配置,一切似乎都在工作,除了一件事:
使用 django-celery,您可以自动在 django 管理员中获得 celery 集成(整洁!),您可以检查所有未过期任务的状态并安排新任务等。
在 admin 的任务列表中,没有显示任何值,这意味着所有值都是 None。当我单击一个值时,我可以看到详细信息,因此看起来它们确实被正确收集了。这只是一个细节,但它让我很恼火。
它没有在列表中显示这些值的原因可能是什么?我能做些什么来解决它?
提前致谢
编辑:截图
所以这里有一些截图,你可以看到像 uuid 等所有的值都是 None 但它确实看到任务是否完成。在第二个屏幕截图中,您可以看到详细信息页面(单击任务后),这里包含所有信息。
第二张图片: