All*_*man 5 django django-admin redis celery django-celery
我的问题应该是相当简单的,而不是需要拼命修复的问题.谷歌无法给我我想要的答案,所以我希望你的专业知识可以帮助我.我在用:
Django 1.4
Celery 2.5.5
Redis 2.4.10 (latest version on homebrew?)
Run Code Online (Sandbox Code Playgroud)
我正在使用以下命令运行所有内容:
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
Run Code Online (Sandbox Code Playgroud)
在我的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.
Run Code Online (Sandbox Code Playgroud)
使用这种配置,除了一件事之外,它似乎都有效:
使用django-celery,您可以在django admin中自动获得芹菜整合(整洁!),您可以检查所有未过期的任务的状态并安排新的任务等.
在admin的任务列表中,不显示任何值,表示所有值均为None.当我点击一个值时,我可以看到详细信息,所以它看起来确实正在被正确收集.这只是一个细节,但它让我很烦.
可能是因为它没有在列表中显示这些值,我该怎么做才能修复它?
提前致谢
编辑:截图
所以这里有一些截图,因为你可以看到像uuid等所有的值都是None,但它确实看到任务完成与否.在第二个屏幕截图中,您可以看到详细信息页面(在您单击任务后),此处它包含所有信息.
第二张图片:

我也有这个。这似乎是 django-celery 中的一个错误。如果您希望修复此问题,您应该更新您的 django-celery 版本(已在django-celery 的此提交中修复)。
如果您更改以下内容(在djcelery.admin_utils函数中fixedwidth):
return """<span title="%s", style="font-size: %spt;\
font-family: Menlo, Courier; ">%s</span>""" % (
escape(val[:255]), pt, escape(shortval)).replace("|br/|", "<br/>")
Run Code Online (Sandbox Code Playgroud)
进入:
return ("""<span title="%s", style="font-size: %spt;\
font-family: Menlo, Courier; ">%s</span>""" % (
escape(val[:255]), pt, escape(shortval))).replace("|br/|", "<br/>")
Run Code Online (Sandbox Code Playgroud)
然后这些值就会出现在管理中。
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |