Spaces:
Sleeping
Sleeping
Download tasks.py from vikkyblacq/flask_api: direct link, hf CLI and curl.
- Browser
- Download file 1.41 kB
-
https://huggingface.co/spaces/vikkyblacq/flask_api/resolve/main/tasks.py
- Command line
-
hf download hf://spaces/vikkyblacq/flask_api/tasks.py
-
curl -L -o tasks.py https://huggingface.co/spaces/vikkyblacq/flask_api/resolve/main/tasks.py
1.41 kB
| import logging | |
| from celery import shared_task | |
| from .services import generate_questions | |
| logger = logging.getLogger(__name__) | |
| def generate_questions_task(self, sid): | |
| """ | |
| Celery task to generate questions asynchronously. | |
| Args: | |
| sid: StudyKit SID | |
| Returns: | |
| dict with status and message | |
| """ | |
| try: | |
| logger.info(f"π Starting question generation for StudyKit {sid}") | |
| success, error_message = generate_questions(sid) | |
| if success: | |
| logger.info(f"β Question generation completed for StudyKit {sid}") | |
| return { | |
| 'status': 'success', | |
| 'sid': sid, | |
| 'message': 'Questions generated successfully' | |
| } | |
| else: | |
| logger.error(f"β Question generation failed for StudyKit {sid}: {error_message}") | |
| # Retry on failure | |
| raise self.retry(exc=Exception(error_message)) | |
| except Exception as e: | |
| logger.exception(f"π₯ Fatal error in question generation task for {sid}") | |
| # Retry up to max_retries times | |
| if self.request.retries < self.max_retries: | |
| raise self.retry(exc=e) | |
| return { | |
| 'status': 'failed', | |
| 'sid': sid, | |
| 'message': str(e) | |
| } |