Commit graph

2 commits

Author SHA1 Message Date
hsparks.codes
3f3d35982b fix: Convert task_app.py to use Quart instead of Flask
- Change from Flask to Quart imports for async compatibility
- Use async/await syntax for all route handlers
- Use @manager.route() decorator pattern (RAGFlow standard)
- Fix request.get_json() to use await
- Import login_required from api.apps instead of flask_login
- Import RetCode from common.constants instead of api.settings

This fixes the service startup issue in CI/CD where Flask imports
were incompatible with RAGFlow's Quart-based async architecture.
2025-12-03 11:25:32 +01:00
hsparks.codes
4c6eecaa46 feat: Add API endpoints and comprehensive tests (Phase 3 & 4)
Phase 3 - API Endpoints:
- Create task_app.py with 5 REST API endpoints
  - POST /api/v1/task/{task_id}/pause - Pause running task
  - POST /api/v1/task/{task_id}/resume - Resume paused task
  - POST /api/v1/task/{task_id}/cancel - Cancel task
  - GET /api/v1/task/{task_id}/checkpoint-status - Get detailed status
  - POST /api/v1/task/{task_id}/retry-failed - Retry failed documents
- Full error handling and validation
- Proper authentication with @login_required
- Comprehensive logging

Phase 4 - Testing:
- Create test_checkpoint_service.py with 22 unit tests
- Test coverage:
   Checkpoint creation (2 tests)
   Document state management (4 tests)
   Pause/resume/cancel operations (5 tests)
   Retry logic (3 tests)
   Progress tracking (2 tests)
   Integration scenarios (3 tests)
   Edge cases (3 tests)
- All 22 tests passing 

Documentation:
- Usage examples and API documentation
- Performance impact analysis
2025-12-03 09:19:26 +01:00