Function Queue
==============
It is the distillate of node-filewalker
In-memory, error handling (retry) function queue, with the ability to throttle simultaneous executions.

Installation
``npm install fqueue
``
Usage
Please have a look at the examples. Class FunctionQueue ------------------- Inherits from events.EventEmitterOptions
``scope
`` (default: this)
``maxPending
`` (default: -1)
Maximum asynchronous jobs.
Useful to throttle the number of simultaneous disk-operations.
``maxAttempts
`` (default: 3)
Maximum reattempts on error.
Set to 0 to disable reattempts.
Set to -1 for infinite reattempts.
``attemptTimeout
`` (default: 5000 ms)
Minimum time to wait before reattempt. In milliseconds.
Useful to let network-drives remount, etc.
Properties
.scope .maxPending .maxAttempts .attemptTimeout .running .paused .pending .dequeued .warnings .errors .attempts .queueMethods
this ``.start(func, args [, scope [, timeout]])
``
Starts the function-queue.
this ``.enqueue(func, args [, scope [, timeout]])
``
Enqueues a function for later execution.
this ``.done()
``
Tell the function-queue that the function has done execution.
this ``.error(err, func, args [, scope [, maxAttempts [, timeout]]])
``
Tell the function-queue about an error. This either initiates an
reattempt or emits the 'error' event.
Notice: You need to call ``.done()
`` even if the function
called ``.error([..])
``.
General Methods
boolean ``.isEmpty()
``
Returns ``true
` if the queue is empty, otherwise
`false
``
this ``.pause()
``
Pauses the execution of functions. Emits the 'pause' event after
all pending functions completed.
this ``.resume()
``
Resumes the previously paused execution of functions. Immediately
emits the 'resume' event.