https://github.com/guseyn/cutie-cluster
Cutie extension for cluster module in Node.
https://github.com/guseyn/cutie-cluster
Last synced: about 1 year ago
JSON representation
Cutie extension for cluster module in Node.
- Host: GitHub
- URL: https://github.com/guseyn/cutie-cluster
- Owner: Guseyn
- License: mit
- Created: 2018-06-08T14:01:21.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-05-10T21:40:07.000Z (about 7 years ago)
- Last Synced: 2025-06-06T05:39:40.287Z (about 1 year ago)
- Language: JavaScript
- Size: 129 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cutie-cluster
[](https://npmjs.org/package/@cuties/cluster)
[](https://travis-ci.org/Guseyn/cutie-cluster)
[](https://codecov.io/gh/Guseyn/cutie-cluster)
[Cutie](https://github.com/Guseyn/cutie) extension for cluster module in Node. It's based on the [Async Tree Pattern](https://github.com/Guseyn/async-tree-patern/blob/master/Async_Tree_Patern.pdf).
## Examples
You can find examples of using this library in the [test directory](https://github.com/Guseyn/cutie-cluster/tree/master/test).
## Install
`npm install @cuties/cluster`
## Run test
`npm test`
## Run build
`npm run build`
## Usage
```js
const {
// Needed async objects here from the table below
} = require('@cuties/cluster');
```
For more information about parameters in the async objects visit [docs of Node](https://nodejs.org/en/docs/) for cluster module.
## cluster
| Async Object | Async/sync call | Parameters(default value/description) | Representation result |
| ------------- | ----------------| ---------- | --------------------- |
| `ClusterWithDisconnectEvent` | `cluster.on('disconnect', event)` | `cluster, event (Event with definedBody(worker))` | `cluster` |
| `ClusterWithExitEvent` | `cluster.on('exit', event)` | `cluster, event (Event with definedBody(worker, code, signal))` | `cluster` |
| `ClusterWithForkedWorkers` | `for (let i = 0; i < num; i++) {cluster.fork(env);}` | `cluster, num(number of workers), env` | `cluster` |
| `ClusterWithForkEvent` | `cluster.on('fork', event)` | `cluster, event (Event with definedBody(worker))` | `cluster` |
| `ClusterWithListeningEvent` | `cluster.on('listening', event)` | `cluster, event (Event with definedBody(worker, address))` | `cluster` |
| `ClusterWithMessageEvent` | `cluster.on('message', event)` | `cluster, event (Event with definedBody(worker, message, handle))` | `cluster` |
| `ClusterWithOnlineEvent` | `cluster.on('online', event)` | `cluster, event (Event with definedBody(worker))` | `cluster` |
| `HasWorkers` | `Object.keys(cluster.workers) > 0` | `cluster` | `boolean` |
## worker
| Async Object | Async/sync call | Parameters(default value/description) | Representation result |
| ------------- | ----------------| ---------- | --------------------- |
| `DisconnectedWorker` | `worker.disconnect` | `worker` | `worker` |
| `ForkedWorker` | `cluster.fork` | `cluster, env` | `worker` |
| `IsConnected` | `worker.isConnected` | `worker` | `boolean` |
| `IsDead` | `worker.isDead` | `worker` | `boolean` |
| `IsExitedAfterDisconnect` | `worker.exitedAfterDisconnect` | `worker` | `boolean` |
| `KilledWorker` | `worker.kill` | `worker, signal('SIGTERM')` | `worker` |
| `SentMessage` | `worker.send` | `worker, message[, sendHandle][, callback]` | `message(string)` |
| `Worker` | `cluster.worker` | `cluster` | `worker` |
| `WorkerId` | `worker.id` | `worker` | `number` |
| `WorkerProcess` | `worker.process` | `worker` | `process` |
| `Workers` | `cluster.workers` | `cluster` | `object` |
| `WorkerWithDisconnectEvent` | `worker.on('disconnect', event)` | `worker, event(Event with definedBody())` | `worker` |
| `WorkerWithErrorEvent` | `worker.on('error', event)` | `worker, event(Event with definedBody(error))` | `worker` |
| `WorkerWithExitEvent` | `worker.on('exit', event)` | `worker, event(Event with definedBody(code, signal))` | `worker` |
| `WorkerWithListeningEvent` | `worker.on('listening', event)` | `worker, event(Event with definedBody(address))` | `worker` |
| `WorkerWithMessageEvent` | `worker.on('message', event)` | `worker, event(Event with definedBody(msg))` | `worker` |
| `WorkerWithOnlineEvent` | `worker.on('online', event)` | `worker, event (Event with definedBody())` | `worker` |
## common
| Async Object | Async/sync call | Parameters(default value/description) | Representation result |
| ------------- | ----------------| ---------- | --------------------- |
| `IsMaster` | `cluster.isMaster` | `cluster` | `boolean` |
| `IsWorker` | `cluster.isWorker` | `cluster` | `boolean` |
| `SchedulingPolicy` | `cluster.schedulingPolicy` | `cluster` | `number` |
| `Settings` | `cluster.settings` | `cluster` | `object` |
| `SetupMaster` | `cluster` | `cluster, settings` | `process` |