Skip to content
Lock server written in node.js
JavaScript Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example
lib
.gitignore
README.md
index.js
package.json

README.md

locker - lock server written in node.js

This is lock server for system that need to share and lock common resources across servers with sub-second precision.

It allows to set wait timeout for lock and max execution time to limit your desire for eternal locking.

Clients

node.js

Client for node.js is completely async.

Example

var Locker = require("locker"),
    locker = new Locker(4545, "127.0.0.1");

locker.on("reset", function() {
    console.log("Reset happened (is server running?)");
});

locker.on("error", function(error) {
    console.log("Catched error:", error);
});

//            name    wait  max   callback
locker.locked("five", 2000, 3000, function(error, callback) {
    if (error) {
        // lock failed
        callback(error);
        return;
    }

    // do whatever you want with your shared resource

    callback(undefined, {well: "done"});
});

Running

First create a dir for locker:

mkdir locker
cd locker
mkdir node_modules
npm install locker-server

Then create main server file (look at example/server.js) and save it as server.js:

(function() {
    var Locker = require("locker-server"),
        locker = new Locker();

    locker.listen(4545);
})();

Run it after all:

node server.js
Something went wrong with that request. Please try again.