* Job sorting done when adding to queue, things done in queue order
* Workers iterate over queue grabbing jobs that they handle
* Slots are files in the run dir
* lock file
* write pid to file
* make job dir
* add job to jobs.jsonl
* wait for job to exit
* unlock file
* immiscible file for locking
* isolation file for locking