Beanstalk Reference Guide

You can use any of the Beanstalkd clients with IronMQ. The list of supported languages is extensive and so there is sure to one for your language of choice.

Table of Contents

Beanstalk Libraries

Here’s a sample list of languages available (with multiple clients libs to choose from for many languages):

  • C
  • C++
  • Clojure
  • Django
  • Common Lisp
  • Erlang
  • Go
  • Haskell
  • Io
  • Java
  • Node.js
  • OCaml
  • Perl
  • PHP
  • Python
  • Rails
  • Ruby
  • Scheme (Chicken)
  • .NET/C#

Check out list of client libraries on GitHub

Host Information

To connect to IronMQ using Beanstalkd, use one of the hosts on our Clouds page.

NOTE: Beanstalkd is currently not supported on Rackspace. Please use one of our HTTP clients if you are on Rackspace.


Because IronMQ requires authentication, the first command you send must put a message onto the queue with the contents:


The DRAINING response will be returned if authentication fails or if any other command is sent before authentication.

Tubes vs Queues

Note that a Beanstalkd tube is synonymous with an IronMQ {Queue Name} within the REST/HTTP API.

If a tube/queue name is not specified, then the queue name default will be used within IronMQ.


  • The ID you receive when using the Beanstalkd interface will not be the same as the HTTP interface so you cannot use them interchangeably.

  • At the moment, there are some commands that IronMQ does not implement. These include:

    • bury
    • peek, peek-delayed, peek-buried
    • kick
    • list-tubes
    • stats, stats-job, stats-tube
    • pause-tube
    • quit