Awesome Open Source
Awesome Open Source


GoDoc Go Report Card Build Status Version Coverage Status

make your short-term command as a long-term job


Shell Install (Linux & MacOS)

# binary will be $(go env GOPATH)/bin/job
$: curl -sfL | sh -s -- -b $(go env GOPATH)/bin

# In alpine linux (as it does not come with curl by default)
$: wget -O - -q | sh -s 

Brew install

$: brew tap liujianping/tap && brew install job


$: git clone
$: cd job 
$: go build -mod vendor


$: job -h
Job, make your short-term command as a long-term job

  job [flags] [command args ...]


	(simple)      $: job echo hello
	(schedule)    $: job -s "* * * * *" -- echo hello
	(retry)       $: job -r 3 -- echox hello
	(repeat)      $: job -n 10 -i 100ms -- echo hello
	(concurrent)  $: job -c 10 -n 10 -- echo hello
	(timeout cmd) $: job -t 500ms -- sleep 1
	(timeout job) $: job -T 3s -r 4 -- sleep 1

  -t, --cmd-timeout duration       job command timeout duration
  -c, --concurrent int             job concurrent numbers
  -h, --help                       help for job
  -T, --job-timeout duration       job timeout duration
  -i, --repeat-interval duration   job repeat interval duration
  -n, --repeat-times int           job repeat times, 0 means forever (default 1)
  -r, --retry int                  job command retry times when failed
  -s, --schedule string            job schedule in crontab format
      --version                    version for job

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (9,704
concurrency (189
crontab (42
report (40
job (38
retry (33

Find Open Source By Browsing 7,000 Topics Across 59 Categories