task-manager
Version:
task-manager for cluster or single application
168 lines (126 loc) • 3.9 kB
Markdown
# [task-manager](https://github.com/hex7c0/task-manager)
[](https://www.npmjs.com/package/task-manager)
[](https://travis-ci.org/hex7c0/task-manager)
[](https://david-dm.org/hex7c0/task-manager)
[](https://coveralls.io/r/hex7c0/task-manager)
Task-manager for cluster or single application, through TCP, TLS, UDP, [Unix domain](http://en.wikipedia.org/wiki/Unix_domain_socket) socket.
Use [`nc`](https://en.wikipedia.org/wiki/Netcat), `openssl`, `Telnet` or whatever you want as client
## Installation
Install through NPM
```bash
npm install task-manager
```
or
```bash
git clone git://github.com/hex7c0/task-manager.git
```
## API
for TCP socket
```js
var task = require('task-manager');
task(30000); // tcp port
```
open client for send commands
```bash
$ nc 127.0.0.1 30000
```
for TLS socket
```js
var task = require('task-manager');
task(30000, {
tls: {
key: ''
}
}); // tls port and cert key
```
open client for send commands
```bash
$ openssl s_client -connect 127.0.0.1:30000
```
for UDP socket
```js
var task = require('task-manager');
task(30000, {
udp: true
}); // udp port
```
open client for send commands
```bash
$ nc -u 127.0.0.1 30000
```
for unix domain socket
```js
var task = require('task-manager');
task('s.sock'); // unix domain socket string
```
open client for send commands
```bash
$ nc -U s.sock
```
### commands
show all commands
```bash
help
```
[disconnect](http://nodejs.org/api/cluster.html#cluster_worker_disconnect) all children
```bash
disconnect
```
[disconnect](http://nodejs.org/api/cluster.html#cluster_worker_disconnect) selected child, with his pid
```bash
disconnect 8564
```
[fork](http://nodejs.org/api/cluster.html#cluster_cluster_fork_env) a new child
```bash
fork
```
[kill](http://nodejs.org/api/cluster.html#cluster_worker_kill_signal_sigterm) all children
```bash
kill
```
[kill](http://nodejs.org/api/cluster.html#cluster_worker_kill_signal_sigterm) selected child, with his pid
```bash
kill 8564
```
get father [memory](http://nodejs.org/api/process.html#process_process_memoryusage)
```bash
memory
```
show all [pids](http://nodejs.org/api/process.html#process_process_pid)
```bash
ps
```
get father [title](http://nodejs.org/api/process.html#process_process_title)
```bash
title
```
set father [title](http://nodejs.org/api/process.html#process_process_title)
```bash
title Ciao
```
get father [uptime](http://nodejs.org/api/process.html#process_process_uptime)
```bash
uptime
```
process [exit](http://nodejs.org/api/process.html#process_process_exit_code)
```bash
exit
```
close TCP/socket listener
```bash
close
```
### task(listen [, options])
#### listen
- `listen`- **Number | String** Number for `TCP, TLS, UDP port`, String (path) for `Unix Domain socket` *(default "required")*
#### [options]
- `auth` - **String** Accept commands only if `auth` is correct *(default "disabled")*
- `output`- **Boolean** Flag for print info to console (main process) *(default "disabled")*
- `custom`- **String | RegExp** Custom validation for client command (after built-in command) *(default "disabled")*
- `callback`- **Function** Execute this function, if `custom` command is accepted (socket and command as arguments) *(default "disabled")*
- `json`- **Boolean** Flag for print info in JSON *(default "disabled")*
- `tls`- **Object** [TLS options](https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener) *(default "disabled")*
- `udp`- **Boolean** Flag for use UDP socket *(default "disabled")*
## Examples
Take a look at my [examples](examples)
### [License GPLv3](LICENSE)