qb is useless framework without its components. The primary component is one that can pull tasks off of a queue for processing (called queue compenents). Other components will allow pushing of tasks to other queues (push components), as well as receiving tasks from other means (receiver components). Some components provide none of the above, simply middleware or convienience.

qb-relyq Provider of a queue component and pusher component for pushing directly onto other service's queues.

Queue components should listen on process-type for types that are able to be processed. This is fired after the user calls qb.can(type, processFunc). The queue should setup a listener. When a task is pulled, it should call qb.emit('process', type, task).

qb.on('process-type',function(type, next){

setupQueue(functiononTask(task, callback){

qb.process(type, task, callback)

})

})

Additionally, the queue component should start a corresponding push component and add aliases for processable types.