TopGit tracks Unitech/gridcontrol on GitHub. The project has 578 stars. Networked Process Manager to execute functions in a Computer Grid
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
GridControl provisions and links multiple servers together to form a Grid.
Files are synchronized, Opinionated Pub/Sub system is implemented, Servers get linked together.
You develop, you play, in a scalable way. The more Servers you add to the Grid, the more calculation power you get.
Welcome to the Grid
5 minutes to get started. By the authors of PM2.
Behind the scenes: GridControl is a network layer built on top of PM2 allowing file synchronization, inter-process communication via an opionated PUB/SUB system and a wide-range system discovery
Change each attribute to the desired value.
Note that an SSH client should be running on the defaut port (22) on each remote machine
2/ Provision every host listed in the Gridfile:
$ grid provision
This will copy the SSH pub key and install NVM, Node.js, PM2 and GridcontrolThis installation does not need ROOT access rights at any time
3/ Grid management
$ grid dash
Commands to manage your grid:
# List all nodes linked to the grid
$ grid ls
# Display Dashboard
$ grid dash
# Execute a command on each server
$ grid multissh <bash_command>
# Restart/Recover the current Grid
$ grid restart
# Upgrade Gridcontrol to latest version
$ grid upgrade
# Display realtime logs of all tasks
$ grid logs
# Monitor the whole Grid with Keymetrics
$ grid monitor <secret> <public>
$ grid unmonitor
# Interactively SSH into desired machine
$ grid ssh
Interact with the Grid
Now let's play with the Grid.
You can generate a sample project by typing:
$ grid sample [project-name]
$ cd [project-name]
$ npm install
Let's look at the content of tasks/get-ip.js, this is a task that will be propagated in the grid:
var request = require('request');
module.exports = function(context, cb) {
request('https://api.ipify.org/?format=json', function (error, response, body) {
if (error)
return cb(error);
if (!error && response.statusCode == 200) {
return cb(null, body);
}
});
};
To call this function, look at how it's done in index.js:
var grid = require('grid-api').init({
instances : 1,
env : {
NODE_ENV : 'development'
}
});
function triggerTask() {
// 'get-ip' is the filename
grid.exec('get-ip', function(err, data, server) {
if (err) {
console.log(err);
return false;
}
console.log('Got response from server pub_ip=(%s) priv_ip=(%s):',
server.public_ip,
server.private_ip);
console.log(data);
});
}
grid.on('ready', function() {
console.log('Gridcontrol Ready');
setInterval(triggerTask, 1000);
});
Start the main application:
$ node index.js
At the beginning, only the local gridcontrol will respond. Once the other peers are synchronized they will also process the queries:
Got response from server pub_ip=(88.123.12.21) priv_ip=(10.2.2.1):
$HTML
Got response from server pub_ip=(88.123.12.22) priv_ip=(10.2.2.8):
$HTML
Got response from server pub_ip=(88.125.120.20) priv_ip=(10.2.2.10):
$HTML
Got response from server pub_ip=(88.123.23.42) priv_ip=(10.2.2.12):
$HTML
Distributed processing, on-premise!
Contributing
If you find any issues please open an issue on Github
For Contributing please refer to docs/CONTRIBUTING.md
The most recent commit recorded on Unitech/gridcontrol was 9.5 years ago, based on the GitHub push timestamp. The repository has 24 forks — one of the better signals of community interest.
How many stars does Unitech/gridcontrol have?
Unitech/gridcontrol has 578 GitHub stars — refresh the page for the live number, or check github.com/Unitech/gridcontrol. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is Unitech/gridcontrol open source?
Yes — Unitech/gridcontrol ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/Unitech/gridcontrol.
What is Unitech/gridcontrol?
Unitech/gridcontrol (Unitech/gridcontrol) is a JavaScript project on GitHub. From the project's own README: Networked Process Manager to execute functions in a Computer Grid
Where do I read more about Unitech/gridcontrol?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/Unitech/gridcontrol is the definitive source.
Read full README in the tab above.
Still deciding about gridcontrol?
One click hands the question to an AI along with this page — see what it says about gridcontrol.