Job Queue for LiveReload
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Job Queue

Work in progress. The API should look like:

queue.register { step: 'postproc' },
  # attributes that comprise the job ID; requests with identical IDs are merged into a single job
  id: ['project', 'step']

  # merge oldRequest into newRequest; by default, all array attributes are merged;
  # ID attributes are guaranteed to be equal
  merge: (newRequest, oldRequest) ->

  execute: (request, emit) ->
    @add type: 'warning', file: '/foo'
    @done null

queue.add { project:, step: 'postproc', paths: paths }

# value triggering (remove existing jobs with this scope, then add new ones)
queue.update { project:, step: 'postproc' }, { paths: [paths] }
queue.update { project:, step: 'compile' }, [{src: '/path/to/src'}, {src: '/another/src'}]

queue.cancel { project: }

Work in progress.


Copyright 2012, Andrey Tarantsov. Distributed under the MIT license.