Jobman¶
Jobman: A meta-scheduler for cluster computing.
Source¶
Main repo: https://github.com/aspuru-guzik-group/jobman .
Features¶
- Ingest jobs from directories.
- Distribute jobs to multiple workers.
- Run jobs on local and cluster resources.
Quickstart¶
Ensure Requirements:
$ python --version # Should be >= 3
Install:
Option A: pip install:
pip install git+https://github.com/aspuru-guzik-group/jobman
Option B: git clone:
Clone:
git clone https://github.com/aspuru-guzik-group/jobman jobman_repo
Make an alias to the standalone jobman script:
$ alias jobman="$PWD/jobman_repo/standalone-jobman-entrypoint.sh"
Sanity check:
$ jobman sanity_check Hello Jobman!
Generate default config:
$ jobman generate_config > my_jobman_cfg.py
Initialize dbs & directories:
$ jobman initialize Initialized.
Create a basic job dir:
$ jobman generate_echo_job_dir \ --job_dir_path="job_dirs/inbox/my_job_dir" \ --message="my message!" Created job_dir at 'job_dirs/inbox/my_job_dir'
Run the job’s entrypoint manually:
$ job_dirs/inbox/my_job_dir/entrypoint.sh my message!
Run the job via Jobman:
$ jobman --cfg=my_jobman_cfg.py tick --nticks=5 $ find job_dirs -maxdepth 3 job_dirs job_dirs/completed job_dirs/completed/my_job_dir job_dirs/completed/my_job_dir/entrypoint.sh job_dirs/completed/my_job_dir/job_spec.json job_dirs/completed/my_job_dir/JOBMAN-COMPLETED job_dirs/completed/my_job_dir/JOBMAN.ENTRYPOINT.sh job_dirs/completed/my_job_dir/stderr job_dirs/completed/my_job_dir/stdout job_dirs/failed job_dirs/inbox job_dirs/queued
Run Jobman as a Daemon:
@TODO!