|
|
|
# System Components
|
|
|
|
|
|
|
|
## Core Modules
|
|
|
|
|
|
|
|
### Daily Scheduler
|
|
|
|
|
|
|
|
The daily scheduler (`daily_scheduler.py`) manages all scheduled tasks:
|
|
|
|
|
|
|
|
- **Queue Sync** (1:00 PM) - Syncs user consents from Bohrium API
|
|
|
|
- **Pre-Migration Emails** (1:30 PM) - Sends notification emails
|
|
|
|
- **AD Group Management** (5:30 PM) - Updates Active Directory groups
|
|
|
|
- **Migration Execution** (6:00 PM) - Executes PST export and GWME migration
|
|
|
|
|
|
|
|
### Orchestrator
|
|
|
|
|
|
|
|
The orchestrator (`orchestrator.py`) coordinates the migration workflow:
|
|
|
|
|
|
|
|
- Manages migration execution across multiple servers
|
|
|
|
- Handles error recovery and retries
|
|
|
|
- Tracks migration progress and status
|
|
|
|
|
|
|
|
### Remote Executor
|
|
|
|
|
|
|
|
The remote executor (`remote_executor.py`) handles remote operations:
|
|
|
|
|
|
|
|
- PST export triggering on Hafnium
|
|
|
|
- GWME monitoring and triggering
|
|
|
|
- Server status monitoring
|
|
|
|
|
|
|
|
### Xenon Executor
|
|
|
|
|
|
|
|
The Xenon executor (`xenon_executor.py`) manages GCDS synchronization:
|
|
|
|
|
|
|
|
- Triggers GCDS task on Xenon server
|
|
|
|
- Monitors GCDS sync completion
|
|
|
|
- Handles errors and timeouts
|
|
|
|
|
|
|
|
## Database Schema
|
|
|
|
|
|
|
|
### Tables
|
|
|
|
|
|
|
|
- **migration_queue** - User migration queue
|
|
|
|
- **migration_batch** - Migration batches
|
|
|
|
- **batch_assignment** - Batch-to-server assignments
|
|
|
|
- **migration_server** - Server registry
|
|
|
|
- **migration_log** - Migration execution logs
|
|
|
|
- **sync_state** - Bohrium API sync state
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
Configuration is managed through `.env` file and `config.py`:
|
|
|
|
|
|
|
|
- API endpoints and credentials
|
|
|
|
- Server hostnames and credentials
|
|
|
|
- Scheduler timing
|
|
|
|
- Migration settings
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
**See also:** [Architecture](Architecture.md), [Configuration](Configuration.md)
|
|
|
|
|