Sabbath

REST interface to beanstalkd (or probably other queues at some point).

Usage

>> sabbath -h

Usage: sabbath [options]

Options:
  -p, --port[OPTIONAL]             Port (default: 11300)
  -h, --host[OPTIONAL]             Host (default: localhost)
  -P, --web-port[OPTIONAL]         Web port (default: 4848)
  -H, --web-host[OPTIONAL]         Web host (default: 0.0.0.0)
  -R, --rackup[OPTIONAL]           Rackup file (optional)
      --help                       Show this help message.

Why?

This allows you to interface with beanstalk over normal HTTP calls. I've included a really simple example in the examples directory. It consumes and pushes jobs onto a queue from jQuery.

This provides the following routes:

  • /:tube GET -- This lets you get the latest job. If no job is available, the connection will be held open until one becomes available.
  • /:tube/:id GET -- This lets you get a job by id.
  • /:tube/:id/release PUT -- This lets you release a job back onto beanstalk.
  • /:tube/:id DELETE -- This deletes a job from the queue.
  • /:tube POST -- This lets you create a new job. The post parameter body is expected.