The manager is responsible for managing the scenario queue, including adding, removing, and updating scenarios. It interacts with the database to store and retrieve scenario information.
- Writting in Rust
- Using SeaORM as ORM
- Exposing REST API using Actix-web
- Storing data in PostgreSQL
The worker is responsible for executing the scenarios in the queue. It fetches scenarios from the manager and runs them using the specified simulator and sampler. The worker is expected to be spreaded in a SLURM cluster.
- Writting in Python
- Communicating with the manager via REST API
- Configure the database metadata in both
db/.envandmanager/.env. - Start the PostgreSQL database using Docker Compose:
cd db docker-compose up -d - Start the manager server:
cd ../manager cargo run --release --bin manager
- Configure the manager URL in
worker/.env. - Pull the Apptainer image under the
workerdirectory:cd worker apptainer pull worker.sif docker://tonychi/worker:latest - Start the worker:
sbatch scripts/run.slurm