Skip to content

liujianping/job

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

job

GoDoc Go Report Card Build Status Version Coverage Status

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

Install

Shell Install (Linux & MacOS)

# binary will be $(go env GOPATH)/bin/job
$: curl -sfL https://raw.githubusercontent.com/liujianping/job/master/install.sh | sh -s -- -b $(go env GOPATH)/bin

# In alpine linux (as it does not come with curl by default)
$: wget -O - -q https://raw.githubusercontent.com/liujianping/job/master/install.sh | sh -s 

Brew install

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

OR

$: git clone https://github.com/liujianping/job.git
$: cd job 
$: go build -mod vendor

Usage

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

Usage:
  job [flags] [command args ...]

Examples:

	(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

Flags:
  -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