Skip to content

insionng/supervisorgo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

supervisorgo

supervisord like golang implement

feature

  • multiple process management.
  • cross platform (windows/linux/os-x) supported.
  • remote controll utility bundled.

install

go get -u github.com/supervisorgo/cmd/...

configuration json file

default-path = "execute-parent-dir/supervisorgo.json"

sample

{
	"ControlUri": "unix:./supervisorgo.sock",
	"Procs": [
		{
			"Name": "builder",
			"DisplayName": "Go Builder",
			"Description": "Run the Go Builder",

			"Dir": "/tmp",
			"Exec": "bash",
			"Args": ["-c","while true; do echo hello; sleep 5; exit 1; done"],
			"Env": [
			],

			"Stderr": "sample-err.log",
			"Stdout": "sample-out.log",
			"Interval": 1000,
			"Retry": 3
		}
	]
}

usage

foreground mode(for debug run)

supervisorgo -c config.json

supervisorgo daemon control

supervisorgo start
supervisorgo stop
supervisorgo restart
sudo supervisorgo install   # daemon install to system
sudo supervisorgo uninstall # daemon uninstall from system

usage for supervisorgoctl

supervisorctl [-c unix:./supervisorgo.sock] subcommand [args...]

supervisorctl status
(list procs)
supervisorctl status target-name
supervisorctl start target-name
supervisorctl stop target-name

TODO

  • add exec-user setting
  • use custom stop signal
  • sock default-path to /var/run/supervisorgo.sock
  • windows/linux/os-x install test

About

supervisord like golang implement

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%