DjangoのceleryのTaskMetaをadminで管理すればいいよねってだけの話。
環境
- Python2.6.5
- Django1.2_rc_1(リビジョン13238)
手順
前提としては、
- Djangoのプロジェクトは事前に作ってある。
- Celeryの設定がされている。
Djangoアプリケーションの作成
アプリケーション名は自由に。今回はceleryadmin。
python manage.py startapp celeryadmin
admin.pyの設定
cd celeryadmin emacs admin.py
以下admin.py例。
# -*- coding: utf-8 -*- from django.contrib import admin from celery.models import TaskMeta class TaskMetaAdmin(admin.ModelAdmin): u"""Task result/status admin""" fieldsets = ((None, { 'fields': ( 'status', 'result', 'date_done', 'traceback', ) }), ) list_display = ('task_id', 'status', 'result', 'date_done', 'traceback', ) list_filter = ('status', 'date_done', ) # search_fields = ('',) admin.site.register(TaskMeta, TaskMetaAdmin)
settings.pyのINSTALLED_APPSに追加する。
settings.pyのINSTALLED_APPSに作ったアプリケーション(今回だとceleryadmin)を追加する。
以上、完了。
備考
順番が逆だけど、RabbitMQとCeleryの設定については別の機会にまとめる。