⚠️ Warning⚠️ : This project is (effectively) unmaintained.It mostly works fine, but additional patch/feature support is not currently available, or is very sparse. Apologies for the inconvenience, but I am quite busy 😥!
- AK
A platform for transforming command-line applications into a job service
📖 Documentation, ⭐️ Demo
Jobson is a platform (backend webserver, frontend UI, and command-line client) that transforms command-line applications into a web-ready job service. Jobson's goal is to make it easy to share existing applications across the web without requiring a lot of server expertise. It was started in 2017 as internal software for handling scientific data requests for the Gaia satellite mission. Because it solves a general problem (turning arbitrary CLI applications into a web service) it was subsequently open-sourced in 2018.
Jobson generates a standard web service from a job specification file:
name: Trivial Application
description: Echoes supplied message to stdout
expectedInputs:
- id: message
type: string
name: Message
description: The message to echo
default: Hello, world!
execution:
application: echo
arguments:
- ${inputs.message}
See documentation for comprehensive walkthrough.
Requires java (8+):
# install and add to PATH
wget https://github.com/adamkewley/jobson/releases/download/1.0.14/jobson-nix-1.0.14.tar.gz
tar xvf jobson-nix-1.0.14.tar.gz
export PATH=$PATH:jobson-nix-1.0.14/bin
# create demo workspace
jobson new --demo
# generate new spec
jobson generate spec someSpec
# edit
#nano specs/someSpec/spec.yml
# validate
jobson validate spec someSpec
# host JSON API for running job
jobson serve config.yml
See installation documentation for details.