Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A beanstalkd (distributed task queue) clone in clojure
Clojure
tree: 35ad23ad1f

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
scripts
src/clojalk
test/clojalk/test
.gitignore
.travis.yml
README.md
clojalk.properties
project.clj

README.md

clojalk Build Status

A distributed task queue written pure in clojure. A Beanstalkd clone.

Usage

Installation

Clojalk is still in development so we don't have a packaged release. To use clojalk, you should checkout the code base and build it by yourself. This is not difficult task but be sure you have leiningen installed.

git clone git@github.com:sunng87/clojalk.git
cd clojalk
lein uberjar clojalk.jar

To start a clojalk server:

java -jar clojalk.jar [clojalk.properties]

Clojalk will load a property file "clojalk.properties" from current working directory if you don't specify a custom file path from command line.

Also you can start clojalk from code base with lein. This is only for test purpose:

lein run

Try out your installation:

telnet 127.0.0.1 12026

You should be familiar with beanstalkd's memcached-styled protocol.

Protocol

Clojalk is almost fully compatible with Beanstalkd's protocol. So you can refer to the protocol document of Beanstalkd which also works with clojalk.

Commands supported by clojalk are listed here.

Tube operations:

  • watch
  • use
  • ignore
  • pause-tube

Job life-cycle operations:

  • put
  • reserve
  • reserve-with-timeout
  • delete
  • release
  • bury
  • kick
  • touch

Monitoring commands:

  • stats
  • stats-job
  • stats-tube
  • list-tubes-watched
  • list-tube-used
  • list-tubes
  • peek
  • peek-ready
  • peek-delayed
  • peek-buried

Clients

The clojure client beanstalk is forked and maintained by me, which works with clojalk and beanstalkd.

More clients to be tested against clojalk.

Thanks

I should thanks Keith Rarick who designed beanstalkd and its protocol.

And also I received great help from Zach Tellman on implementing the protocol with gloss.

License

Copyright (C) 2011 Sun Ning

Distributed under the Eclipse Public License, the same as Clojure uses.

Something went wrong with that request. Please try again.