jamboree

Job Queueing done easy

npm install jamboree
2 downloads in the last week
2 downloads in the last month

ShortLine

CONFIG

OPTIONS

default_receiver_timeout 60000

maximum amount of time shortline will wait before closing the connection and recording that the request failed due to timeout

default_receiver_port 80

port to connect to on each endpoint

default_receiver_concurrency 5

maximun number of connections to each endpoint

trusted_ips

whitelist of ips which can submit jobs

port

port shortline should listen on for incoming requests

DB OPTIONS

shortline has seperate databases for the following modes:

  • production
  • development
  • test

shortline currently supports mongoDB and MySQL

mysql config

  • adapter mysql
  • host
  • user
  • password
  • database

mongo config

  • adapter mongo
  • user optional
  • password optional
  • database
  • hosts
    hosts an array of host:port pairs
    port defaults to 27017

Components

  • Receiver
  • Pusher
  • Queue
  • Storage
  • Job
  • JobBoard
  • CLI Interface

Receiver

Listens for job requests. Pushes them into the Queue and Storage. Receivers must register their Pusher before requests will be processed. Requests that don't have a corresponding receiver will be ignored.

Pusher

Pulls requests off the Queue and pushes them to their processors. Only deletes a request from the Queue after callback calls done().

Queue

Add and remove request, can be reset from Storage given a timestamp.

Storage

Permanent storage of requests and jobs. Requests indexed by time_created. Deleted after a month.

Job

Manages a job lifecycle. Registers a Receiver and a Pusher to a Queue. Handles errors for Receiver, Pusher, and Queue.

JobBoard

list of available Jobs, keyed by domain. Allows for run-time configuration changes to job processing.

CLI Interface

List, Create, Update and Delete running Jobs via the JobBoard

npm loves you