---
name: "beanstalkd"
section: "1"
platform: "linux"
package: "beanstalkd"
version: "1.13-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/beanstalkd"
---

# beanstalkd(1)

simple, fast work queue

## NAME

**beanstalkd** - simple, fast work queue

## SYNOPSIS

**beanstalkd** \[*options*\]

## DESCRIPTION

**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 the [init(1)](/init/1.md) 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.txt** in the **beanstalkd** distribution for a thorough description of the meaning and format of the **beanstalkd** protocol.

## OPTIONS

- **-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.

- **-f** *ms*

  Call [fsync(2)](/fsync/2.md) at most once every *ms* milliseconds. Larger values for *ms* reduce 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.

-

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

-

  The default behavior is to sync every 50 ms.

-

  (This option has no effect without **-b**.)

- **-F**

  Never call [fsync(2)](/fsync/2.md). Equivalent to **-f** with an infinite *ms* value.

-

  (This option has no effect without **-b**.)

- **-h**

  Show a brief help message and exit.

- **-l** *addr*

  Listen on address *addr* (default is 0.0.0.0).

-

  When *addr* starts with "unix:", the unprefixed value of it will be used as the local filesystem path to create a UNIX socket instead of a TCP socket. In this case the value of **-p** will be ignored.

-

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

- **-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.

- **-V**

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

- **-v**

  Print the version string and exit.

- **-z** *bytes*

  The maximum size in bytes of a job.

- **-c**

  This flag has no effect. It is kept for historical compatibility only.

- **-n**

  This flag has no effect. It is kept for historical compatibility only.

## ENVIRONMENT

- **LISTEN\_PID**, **LISTEN\_FDS**

  These variables can be set by [init(1)](/init/1.md). See [sd\_listen\_fds(3)](/sd_listen_fds/3.md) for details.

## SEE ALSO

[sd-daemon(3)](/sd-daemon/3.md), [sd\_listen\_fds(3)](/sd_listen_fds/3.md)

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

*https://beanstalkd.github.io/*

## AUTHOR

**Beanstalkd** is written by Keith Rarick and maintained by the community at *https://github.com/beanstalkd/beanstalkd/issues*
