node package manager

gridlock

lock one thing

gridlock - lock one thing

The gridlock Node.js module provides a simple locking mechanism for single things.

Build Status

Usage

var gridlock = require('gridlock')
 
function op (cb) {
  setTimeout(cb, 1000)
}
var locker = gridlock()
var id = 'abc'
locker.lock(id)
op(function () {
  locker.unlock(id)
})
if (locker.lock(id)) {
  locker.once(id, function () {
    console.log('done')
  })
}

types

gridlock()

Returns a new locker which is an instance of EventEmitter.

locker.lock(id)

Tries to store the provided identifier. Returns false if it succeeds and true if it fails meaning the id has already been stored (locked).

  • id String() is the identifier of a thing

locker.unlock(id)

Releases the provided identifier and emits it.

  • id String() is the identifier of a thing

exports

To access the Gridlock class require('gridlock').

Installation

With npm do:

$ npm install gridlock

License

MIT License