Phase 3 Step 2: Implement ScheduleService with cron support
Implement comprehensive schedule management service for automated scans: New Files: - web/services/schedule_service.py (470 lines) * Complete CRUD operations for schedules * Cron expression validation using croniter * Next run time calculation * Execution history tracking * Human-readable relative time formatting - tests/test_schedule_service.py (671 lines, 40+ tests) * Create/get/list/update/delete schedule tests * Cron validation and next run calculation tests * Pagination and filtering tests * Schedule history and serialization tests Changes: - requirements-web.txt: Add croniter==2.0.1 dependency - docs/ai/PHASE3.md: Mark Step 1 complete, Step 2 next Key Features: - Validates cron expressions before saving - Automatically calculates next execution time - Preserves historical scans when schedules deleted - Supports pagination and filtering by enabled status - Provides relative time display (e.g., "in 2 hours")
This commit is contained in:
@@ -21,6 +21,7 @@ marshmallow-sqlalchemy==0.29.0
|
||||
|
||||
# Background Jobs & Scheduling
|
||||
APScheduler==3.10.4
|
||||
croniter==2.0.1
|
||||
|
||||
# Email Support (Phase 4)
|
||||
Flask-Mail==0.9.1
|
||||
|
||||
Reference in New Issue
Block a user