Code structure - PanDAWMS/panda-harvester GitHub Wiki
Harvester code structure
- Body: Harvester agent modules (subclasses of thread) using code in their specific subfolder. Master is the main module spawning rest of agents.
- Config: Module to read configuration file
- Core: Central components (e.g. class for DB access, classes to represent files/jobs/events, class to talk with panda server) needed in other modules
- Cred manager: Module to maintain credentials like grid proxy
- Messenger: Communication classes to interact between workers and harvester
- Monitor: Classes to monitor jobs, e.g. through SLURM, SAGA...
- Mover: Base classes or tools for Preparator and Stager
- Preparator: Classes to prepare (stage in) data for jobs
- Stager: Classes to stage out data
- Submitter: Classes to submit jobs to the batch system
- Sweeper: Classes to kill and cleanup workers
- Test: Test scripts
- Worker Maker: Makes workers