# Managers Core manager classes that orchestrate data transfer operations. These classes follow the Manager/Worker pattern described in {doc}`../../philosophy`. ```{toctree} :caption: 'Manager Classes:' :maxdepth: 2 raw_data_package_manager data_transfer_package_manager transfer_manager archive_manager deletion_manager staging_manager ``` ## Overview Managers are responsible for specific stages of the data pipeline: **Raw Data Package Manager** : Creates packages from raw instrument data files. **Data Transfer Package Manager** : Manages packages during site-to-site transfers. **Transfer Manager** : Orchestrates actual data transfers between locations. **Archive Manager** : Handles long-term archival to LTA systems. **Deletion Manager** : Manages cleanup and deletion policies. **Staging Manager** : Handles data staging for processing. ## Manager/Worker Pattern Each manager follows the same architectural pattern: 1. **Manager Process**: \- Scans database for work to be done \- Prepares operations (creates DB records, validates) \- Submits Celery tasks to appropriate queues \- Runs anywhere with database access 2. **Worker Process**: \- Listen to queues for their location/operation type \- Perform actual work (copy files, verify checksums, etc.) \- Update database with results \- Must run on machines with data access See {doc}`../../philosophy` for detailed explanation of this pattern.