presque - a redis/tatsumaki based message queue
In order to use presque, you will need:
- Tatsumaki
- Redis (at least version 2.0)
- AnyEvent::Redis
presque is a persistent job queue that uses Redis for storage and Tatsumaki for the interface between workers and Redis.
presque implement a REST interface for communications, and jobs are JSON data structure.
Workers can be written in any language as long as they implement the REST interface. A complete worker exists for Perl presque::worker. Some examples in other languages can be found in the eg directory.
The functionalities are inspired by RestMQ and resque.
The following HTTP routes are available:
GET /q/queuename
gets an object out of the queue
POST /q/queuename
insert an object in the queue
PUT /q/queuename
re-insert a job after a worker failed to process the job
DELETE /q/queuename
purge and delete the queue
GET /status/
informations about a queue.
GET /j/queuename
return some basic information about a queue.
GET /control/queuename
return the status of the queue. A queue have two statues: open or
closed. When a queue is closed, no job can be extracted from the
queue.
POST /control/queuename
change the status of the queue.
GET /w/
some statisctics about a worker
POST /w/queuename
register a worker on a queue.
DELETE /w/queue_name
unregister a worker on a queue.
- Net::Presque - Perl
- Presque::Client - Clojure
franck cuny franck@lumberjaph.net
For a complete description of each routes, refer to presque::WorkerHandler, presque::RestQueueHandler, presque::ControlHandler, presque::JobQueueHandler, presque::StatusHandler.
For a complete worker see presque::worker.
Copyright 2010 by Linkfluence
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.