Skip to content

paulgessinger/kong

Repository files navigation

Kong CI codecov pypi docs

Documentation

What does this do?

Suppose you use a batch cluster somewhere to run parallel workloads. Normally you'd write dedicated submission code for each type of system and use the relevant shell commands to monitor job progress. How do you keep track of what happened to jobs? How do you even keep track of which job did what?

With kong, you can organize your jobs into folders (not actual folders on disk), however you feel like it. Kong can keep track of job statuses and reports them to you in a clean and organized view. You can manage your jobs in kong, kill them, resubmit them, remove them. Kong also normalizes things like where the your job can find scratch space, where to put log files and where to put output files. This is done by a set of environment variables available in every job, regardless of backend (called driver):

variable name value
KONG_JOB_ID Kong-specific job ID (not the batch system one)
KONG_JOB_OUTPUT_DIR Where to put output files
KONG_JOB_LOG_DIR Where log files go
KONG_JOB_NPROC How many core your job can use
KONG_JOB_SCRATCHDIR scratch dir for the job

You can write job scripts that are mostly agnostic to which driver is used to execute the job. Some things remain specific to your environment, especially things that are implemented on top of the actual batch system. This includes things like licenses, queue names, and any other specific configuration. Kong allows you to provide arguments like this either via configuration, or on a job by job basis.

Interface

REPL

Kong provides a command line like program. If you run

asciicast

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages