Jobson is configured through standard plaintext configuration files and
directories. All the necessary files (e.g.
jobs/) are, by default, kept together in the same directory after
jobson new command. That directory is what we call a
config.yml: Main Configuration File¶
A standard YAML file that is used by many of Jobson’s commands (e.g.
generate). It contains everything you would expect a
top-level configuration file to contain: data locations, server ports,
authentication configuration, job queue behavior, etc.
See config.yml for more details.
specs/: Job Specs¶
A directory that contains the job specs hosted by the
Jobson server. Each subdirectory in
specs/ is a job spec hosted by
Jobson. A job spec ID—as exposed via the Jobson API—is derived from the
subdirectory’s name. For example, a job spec at
would result in
foo being exposed via the Jobson API.
jobs/: Job Data¶
A directory that contains job data. The data associted with each job
request (inputs, timestamps, outputs) is persisted here under a
Note: Although job folders are designed to be easy for 3rd-party scripts to read, their structure is not yet stable. Don’t go building something big on the assumption that they are stable.
wds/: Temporary Working Directories¶
A directory that contains runtime working directories. Jobson generates
a unique job ID for each successful job request. The working directory
used at runtime by the application is persisted in this directory under
a subdirectory named
Before a job executes, Jobson creates a clean working directory and copies all dependencies, file arguments, etc. into it. Jobson then runs the application in that working directory. This execution model helps support:
- Job concurrency: each job gets its own working directory, so concurrent applications are less likely to accidently clobber eachother’s temporary files and outputs.
- Debugging: If a job fails, a developer can inspect the working directory used by that particular job.
Jobson does not need a working directory after an application has
finised executing. After finishing, Jobson copies any outputs (as
specified in the job spec) to the