from django.apps import AppConfig class KnowledgeConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'knowledge' def ready(self): """在Django应用准备好后注册Celery任务""" try: # 导入Celery应用 from ops import celery_app # 注册高级学习任务 try: from knowledge.tasks.advanced_learning import ( advanced_learning_by_document, batch_advanced_learning ) celery_app.register_task(advanced_learning_by_document) celery_app.register_task(batch_advanced_learning) print("✅ Advanced learning tasks registered via app config") except ImportError as e: print(f"❌ Failed to register advanced learning tasks: {e}") # 注册媒体学习任务 try: from knowledge.tasks.media_learning import ( media_learning_by_document, media_learning_batch ) celery_app.register_task(media_learning_by_document) celery_app.register_task(media_learning_batch) print("✅ Media learning tasks registered via app config") except ImportError as e: print(f"❌ Failed to register media learning tasks: {e}") except Exception as e: print(f"⚠️ Failed to register tasks via app config: {e}")