UNPKG

computes

Version:

computes.io distributed supercomputer

73 lines (54 loc) 1.91 kB
# Computes NPM Module NPM module for connecting [Computes.io](http://computes.io) kernels to the Computes supercomputer and ultimately interacting with cores. This example computes 9000! simultaneously across 3 cores. ```javascript var computes = require("computes"); var bigInt = require("big-integer"); var operation = "(function(data) { var result=1;for (var i = data*3000+1; i <= data*3000+3000; ++i){result = bigInt(result).multiply(i).toString();}return result; })"; // var operation = "https://gist.githubusercontent.com/computes/df86808c4a9d0a0d489a/raw/11c92b86662a4df5b5db585a1442796333bd1934/test.js"; // Set options var options = { domain: "domain_key_from_computes.io", priority: "normal", //'low', 'normal' & 'high' ttl: 60000, // milliseconds delay: 0 //milliseconds }; // Connect kernel to computes var job = computes.connect(options.domain); job.on("ready", function (){ // Update memory object job.memory({"counter":0}); // Submit operations for(var data = 0; data < 3; data++) { job.compute(operation, data, options); } }); var jobCount = 0 // Fired as cores return results job.on("result", function (result){ console.log(result); jobCount++; if (jobCount == 3){ job.disconnect(); } }); // Fired by webhooks or messages from cores etc. job.on("message", function (message){ console.log(message); }); // Fired when memory changes by kernel or cores job.on("memory", function (ram){ console.log("npm", ram); }); ``` Notes: 1. Options are optional 2. Operation can also be a URL such as a raw gist i.e. [https://gist.githubusercontent.com/computes/df86808c4a9d0a0d489a/raw/11c92b86662a4df5b5db585a1442796333bd1934/test.js](https://gist.githubusercontent.com/computes/df86808c4a9d0a0d489a/raw/11c92b86662a4df5b5db585a1442796333bd1934/test.js) API commands include: - connect - disconnect - compute - execute - cancel - message - memory