Skip to content

Client/server job control program on UNIX-like operating systems. GIF in README.

Notifications You must be signed in to change notification settings

tuommii/Taskmaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taskmaster

How it works

Screencast (old) with example config

Features

Client

  • UI with raw mode
  • History
  • Autocompletion for commands and task names
  • Aliases
  • Sends user input to server via TCP

Server (daemon)

  • Option to daemonize with -d flag
  • Log to stdout with -debug flag
  • Hot-reloads config file when receives SIGHUP signal
  • Only one client at time is allowed
  • Server remains listening for a new client if a client exits

How To Use

Clone

git clone https://github.com/tuommii/Taskmaster.git

Build

cd Taskmaster/
go get ./...
make build

Run

./bin/server
./bin/client

Keys

Key Action
Up Next history item
Tab Next suggestion (autocomplete)

Commands

Command (alias) Action
status (st) show job statuses
reload reload config file
start (run) <job_name> start a job
stop (pause) <job_name> stop a job
help <job_name> Show help
restart <job_name> restart a job
uptime <job_name> show uptime of process
fg <job_name> attach output to server stdout
bg <job_name> deattach output from server stdout
exit quit

Example config

{
	"realtime": {
		"command": "bash ./test.sh",
		"workingDir": "./assets",
		"startTime": 3,
		"instances": 1,
		"autostart": true,
		"autorestart": "unexpected",
		"stopSignal": "HUP",
		"env": ["USER=Miikka", "HOME=Hermanni"],
		"exitcodes": [0, 1]
	},
	"excode": {
		"command": "bash ./test3.sh",
		"workingDir": "./assets",
		"autostart": false,
		"startTime": 4,
		"autorestart": "false",
		"stopSignal": "HUP",
		"env": ["USER=Miikka", "HOME=Hermanni"],
		"exitcodes": [0, 1]
	}
}

TODO

  • Flags to README
  • Validation rules to README
  • SIGHUP -> Send new tasknames to client
  • Mutex ?
  • Remove x-packages (used for optional things) ?
  • Windows support if i get windows machine
  • Multiline support

About

Client/server job control program on UNIX-like operating systems. GIF in README.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published