Managers ======== Core manager classes that orchestrate data transfer operations. These classes follow the Manager/Worker pattern described in :doc:`../../philosophy`. .. toctree:: :maxdepth: 2 :caption: Manager Classes: 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.