beanstalkd - simple, fast work queue


beanstalkd [options]


Beanstalkd is a simple work-queue service. Its interface is generic, though it was originally designed for reducing the latency of page views in high-volume web applications by running time-consuming tasks asynchronously.

When started, beanstalkd opens a socket (or uses a file descriptor provided by theinit(1) system, see ENVIRONMENT) and listens for incoming connections. For each connection, it reads a sequence of commands to create, reserve, delete, and otherwise manipulate "jobs", units of work to be done. See file doc/protocol.txtin the beanstalkd distribution for a thorough description of the meaning and format of the beanstalkd protocol.


-b path

Use a binlog to keep jobs on persistent storage in directory path. Upon startup, beanstalkd will recover any binlog that is present in path, then, during normal operation, append new jobs and changes in state to the binlog.


Perform online, incremental compaction of binlog files. Negates -n. This is the default behavior.

(Do not use this option, except to negate -n. Both -c and -n will likely be removed in a future beanstalkd release.)

-f ms

Call fsync(2) at most once every ms milliseconds. Larger values for msreduce disk activity and improve speed at the cost of safety. A power failure could result in the loss of up to ms milliseconds of history.

ms value of 0 will cause beanstalkd to call fsync every time it writes to the binlog.

(This option has no effect without -b.)


Never call fsync(2). Equivalent to -f with an infinite ms value.

This is the default behavior.

(This option has no effect without -b.)


Show a brief help message and exit.

-l addr

Listen on address addr (default is

(Option -l has no effect if sd-daemon(5) socket activation is being used. See also ENVIRONMENT.)


Turn off binlog compaction, negating -c.

(Do not use this option. Both -c and -n will likely be removed in a futurebeanstalkd release.)

-p port

Listen on TCP port port (default is 11300).

(Option -p has no effect if sd-daemon(5) socket activation is being used. See also ENVIRONMENT.)

-s bytes

The size in bytes of each binlog file.

(This option has no effect without -b.)

-u user

Become the user user and its primary group.


Increase verbosity. May be used more than once to produce more verbose output. The output format is subject to change.


Print the version string and exit.

-z bytes

The maximum size in bytes of a job.


These variables can be set by init(1). See sd_listen_fds(3) for details.


sd-daemon(5), sd_listen_fds(5)

Files README and doc/protocol.txt in the beanstalkd distribution.



Beanstalkd is written and maintained by Keith Rarick with the help of many others.

  1. APRIL 2012