<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=Beanstalk_Protocol</id>
	<title>Beanstalk Protocol - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=Beanstalk_Protocol"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Beanstalk_Protocol&amp;action=history"/>
	<updated>2026-06-02T22:15:23Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=Beanstalk_Protocol&amp;diff=1435&amp;oldid=prev</id>
		<title>imported&gt;Supportadmin в 05:17, 8 мая 2014</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Beanstalk_Protocol&amp;diff=1435&amp;oldid=prev"/>
		<updated>2014-05-08T05:17:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 08:17, 8 мая 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://raw.githubusercontent.com/kr/beanstalkd/master/doc/protocol.txt Это резервная копия официального протокола]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Beanstalk Protocol =&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocol&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Protocol&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgdb4support-mediawiki-:diff::1.12:old-1434:rev-1435 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Supportadmin</name></author>
	</entry>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=Beanstalk_Protocol&amp;diff=1434&amp;oldid=prev</id>
		<title>imported&gt;Supportadmin: Новая страница: « = Beanstalk Protocol =  Protocol --------  The beanstalk protocol runs over TCP using ASCII encoding. Clients connect, send commands and data, wait for responses…»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Beanstalk_Protocol&amp;diff=1434&amp;oldid=prev"/>
		<updated>2014-05-08T05:14:59Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « = Beanstalk Protocol =  Protocol --------  The beanstalk protocol runs over TCP using ASCII encoding. Clients connect, send commands and data, wait for responses…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Beanstalk Protocol =&lt;br /&gt;
&lt;br /&gt;
Protocol&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
The beanstalk protocol runs over TCP using ASCII encoding. Clients connect,&lt;br /&gt;
send commands and data, wait for responses, and close the connection. For each&lt;br /&gt;
connection, the server processes commands serially in the order in which they&lt;br /&gt;
were received and sends responses in the same order. All integers in the&lt;br /&gt;
protocol are formatted in decimal and (unless otherwise indicated)&lt;br /&gt;
nonnegative.&lt;br /&gt;
&lt;br /&gt;
Names, in this protocol, are ASCII strings. They may contain letters (A-Z and&lt;br /&gt;
a-z), numerals (0-9), hyphen (&amp;quot;-&amp;quot;), plus (&amp;quot;+&amp;quot;), slash (&amp;quot;/&amp;quot;), semicolon (&amp;quot;;&amp;quot;),&lt;br /&gt;
dot (&amp;quot;.&amp;quot;), dollar-sign (&amp;quot;$&amp;quot;), underscore (&amp;quot;_&amp;quot;), and parentheses (&amp;quot;(&amp;quot; and &amp;quot;)&amp;quot;),&lt;br /&gt;
but they may not begin with a hyphen. They are terminated by white space&lt;br /&gt;
(either a space char or end of line). Each name must be at least one character&lt;br /&gt;
long.&lt;br /&gt;
&lt;br /&gt;
The protocol contains two kinds of data: text lines and unstructured chunks of&lt;br /&gt;
data. Text lines are used for client commands and server responses. Chunks are&lt;br /&gt;
used to transfer job bodies and stats information. Each job body is an opaque&lt;br /&gt;
sequence of bytes. The server never inspects or modifies a job body and always&lt;br /&gt;
sends it back in its original form. It is up to the clients to agree on a&lt;br /&gt;
meaningful interpretation of job bodies.&lt;br /&gt;
&lt;br /&gt;
The client may issue the &amp;quot;quit&amp;quot; command, or simply close the TCP connection&lt;br /&gt;
when it no longer has use for the server. However, beanstalkd performs very&lt;br /&gt;
well with a large number of open connections, so it is usually better for the&lt;br /&gt;
client to keep its connection open and reuse it as much as possible. This also&lt;br /&gt;
avoids the overhead of establishing new TCP connections.&lt;br /&gt;
&lt;br /&gt;
If a client violates the protocol (such as by sending a request that is not&lt;br /&gt;
well-formed or a command that does not exist) or if the server has an error,&lt;br /&gt;
the server will reply with one of the following error messages:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;OUT_OF_MEMORY\r\n&amp;quot; The server cannot allocate enough memory for the job.&lt;br /&gt;
   The client should try again later.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;INTERNAL_ERROR\r\n&amp;quot; This indicates a bug in the server. It should never&lt;br /&gt;
   happen. If it does happen, please report it at&lt;br /&gt;
   http://groups.google.com/group/beanstalk-talk.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;BAD_FORMAT\r\n&amp;quot; The client sent a command line that was not well-formed.&lt;br /&gt;
   This can happen if the line does not end with \r\n, if non-numeric&lt;br /&gt;
   characters occur where an integer is expected, if the wrong number of&lt;br /&gt;
   arguments are present, or if the command line is mal-formed in any other&lt;br /&gt;
   way.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;UNKNOWN_COMMAND\r\n&amp;quot; The client sent a command that the server does not&lt;br /&gt;
   know.&lt;br /&gt;
&lt;br /&gt;
These error responses will not be listed in this document for individual&lt;br /&gt;
commands in the following sections, but they are implicitly included in the&lt;br /&gt;
description of all commands. Clients should be prepared to receive an error&lt;br /&gt;
response after any command.&lt;br /&gt;
&lt;br /&gt;
As a last resort, if the server has a serious error that prevents it from&lt;br /&gt;
continuing service to the current client, the server will close the&lt;br /&gt;
connection.&lt;br /&gt;
&lt;br /&gt;
Job Lifecycle&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
A job in beanstalk gets created by a client with the &amp;quot;put&amp;quot; command. During its&lt;br /&gt;
life it can be in one of four states: &amp;quot;ready&amp;quot;, &amp;quot;reserved&amp;quot;, &amp;quot;delayed&amp;quot;, or&lt;br /&gt;
&amp;quot;buried&amp;quot;. After the put command, a job typically starts out ready. It waits in&lt;br /&gt;
the ready queue until a worker comes along and runs the &amp;quot;reserve&amp;quot; command. If&lt;br /&gt;
this job is next in the queue, it will be reserved for the worker. The worker&lt;br /&gt;
will execute the job; when it is finished the worker will send a &amp;quot;delete&amp;quot;&lt;br /&gt;
command to delete the job.&lt;br /&gt;
&lt;br /&gt;
Here is a picture of the typical job lifecycle:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   put            reserve               delete&lt;br /&gt;
  -----&amp;gt; [READY] ---------&amp;gt; [RESERVED] --------&amp;gt; *poof*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a picture with more possibilities:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   put with delay               release with delay&lt;br /&gt;
  ----------------&amp;gt; [DELAYED] &amp;lt;------------.&lt;br /&gt;
                        |                   |&lt;br /&gt;
                        | (time passes)     |&lt;br /&gt;
                        |                   |&lt;br /&gt;
   put                  v     reserve       |       delete&lt;br /&gt;
  -----------------&amp;gt; [READY] ---------&amp;gt; [RESERVED] --------&amp;gt; *poof*&lt;br /&gt;
                       ^  ^                |  |&lt;br /&gt;
                       |   \  release      |  |&lt;br /&gt;
                       |    `-------------'   |&lt;br /&gt;
                       |                      |&lt;br /&gt;
                       | kick                 |&lt;br /&gt;
                       |                      |&lt;br /&gt;
                       |       bury           |&lt;br /&gt;
                    [BURIED] &amp;lt;---------------'&lt;br /&gt;
                       |&lt;br /&gt;
                       |  delete&lt;br /&gt;
                        `--------&amp;gt; *poof*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The system has one or more tubes. Each tube consists of a ready queue and a&lt;br /&gt;
delay queue. Each job spends its entire life in one tube. Consumers can show&lt;br /&gt;
interest in tubes by sending the &amp;quot;watch&amp;quot; command; they can show disinterest by&lt;br /&gt;
sending the &amp;quot;ignore&amp;quot; command. This set of interesting tubes is said to be a&lt;br /&gt;
consumer's &amp;quot;watch list&amp;quot;. When a client reserves a job, it may come from any of&lt;br /&gt;
the tubes in its watch list.&lt;br /&gt;
&lt;br /&gt;
When a client connects, its watch list is initially just the tube named&lt;br /&gt;
&amp;quot;default&amp;quot;. If it submits jobs without having sent a &amp;quot;use&amp;quot; command, they will&lt;br /&gt;
live in the tube named &amp;quot;default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Tubes are created on demand whenever they are referenced. If a tube is empty&lt;br /&gt;
(that is, it contains no ready, delayed, or buried jobs) and no client refers&lt;br /&gt;
to it, it will be deleted.&lt;br /&gt;
&lt;br /&gt;
Producer Commands&lt;br /&gt;
-----------------&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;put&amp;quot; command is for any process that wants to insert a job into the queue.&lt;br /&gt;
It comprises a command line followed by the job body:&lt;br /&gt;
&lt;br /&gt;
put &amp;lt;pri&amp;gt; &amp;lt;delay&amp;gt; &amp;lt;ttr&amp;gt; &amp;lt;bytes&amp;gt;\r\n&lt;br /&gt;
&amp;lt;data&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
It inserts a job into the client's currently used tube (see the &amp;quot;use&amp;quot; command&lt;br /&gt;
below).&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;pri&amp;gt; is an integer &amp;lt; 2**32. Jobs with smaller priority values will be&lt;br /&gt;
   scheduled before jobs with larger priorities. The most urgent priority is 0;&lt;br /&gt;
   the least urgent priority is 4,294,967,295.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;delay&amp;gt; is an integer number of seconds to wait before putting the job in&lt;br /&gt;
   the ready queue. The job will be in the &amp;quot;delayed&amp;quot; state during this time.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;ttr&amp;gt; -- time to run -- is an integer number of seconds to allow a worker&lt;br /&gt;
   to run this job. This time is counted from the moment a worker reserves&lt;br /&gt;
   this job. If the worker does not delete, release, or bury the job within&lt;br /&gt;
   &amp;lt;ttr&amp;gt; seconds, the job will time out and the server will release the job.&lt;br /&gt;
   The minimum ttr is 1. If the client sends 0, the server will silently&lt;br /&gt;
   increase the ttr to 1.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bytes&amp;gt; is an integer indicating the size of the job body, not including the&lt;br /&gt;
   trailing &amp;quot;\r\n&amp;quot;. This value must be less than max-job-size (default: 2**16).&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;data&amp;gt; is the job body -- a sequence of bytes of length &amp;lt;bytes&amp;gt; from the&lt;br /&gt;
   previous line.&lt;br /&gt;
&lt;br /&gt;
After sending the command line and body, the client waits for a reply, which&lt;br /&gt;
may be:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;INSERTED &amp;lt;id&amp;gt;\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;id&amp;gt; is the integer id of the new job&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;BURIED &amp;lt;id&amp;gt;\r\n&amp;quot; if the server ran out of memory trying to grow the&lt;br /&gt;
   priority queue data structure.&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;id&amp;gt; is the integer id of the new job&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;EXPECTED_CRLF\r\n&amp;quot; The job body must be followed by a CR-LF pair, that is,&lt;br /&gt;
   &amp;quot;\r\n&amp;quot;. These two bytes are not counted in the job size given by the client&lt;br /&gt;
   in the put command line.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;JOB_TOO_BIG\r\n&amp;quot; The client has requested to put a job with a body larger&lt;br /&gt;
   than max-job-size bytes.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;DRAINING\r\n&amp;quot; This means that the server has been put into &amp;quot;drain mode&amp;quot;&lt;br /&gt;
   and is no longer accepting new jobs. The client should try another server&lt;br /&gt;
   or disconnect and try again later.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;use&amp;quot; command is for producers. Subsequent put commands will put jobs into&lt;br /&gt;
the tube specified by this command. If no use command has been issued, jobs&lt;br /&gt;
will be put into the tube named &amp;quot;default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
use &amp;lt;tube&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;tube&amp;gt; is a name at most 200 bytes. It specifies the tube to use. If the&lt;br /&gt;
   tube does not exist, it will be created.&lt;br /&gt;
&lt;br /&gt;
The only reply is:&lt;br /&gt;
&lt;br /&gt;
USING &amp;lt;tube&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;tube&amp;gt; is the name of the tube now being used.&lt;br /&gt;
&lt;br /&gt;
Worker Commands&lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
A process that wants to consume jobs from the queue uses &amp;quot;reserve&amp;quot;, &amp;quot;delete&amp;quot;,&lt;br /&gt;
&amp;quot;release&amp;quot;, and &amp;quot;bury&amp;quot;. The first worker command, &amp;quot;reserve&amp;quot;, looks like this:&lt;br /&gt;
&lt;br /&gt;
reserve\r\n&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can specify a timeout as follows:&lt;br /&gt;
&lt;br /&gt;
reserve-with-timeout &amp;lt;seconds&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
This will return a newly-reserved job. If no job is available to be reserved,&lt;br /&gt;
beanstalkd will wait to send a response until one becomes available. Once a&lt;br /&gt;
job is reserved for the client, the client has limited time to run (TTR) the&lt;br /&gt;
job before the job times out. When the job times out, the server will put the&lt;br /&gt;
job back into the ready queue. Both the TTR and the actual time left can be&lt;br /&gt;
found in response to the stats-job command.&lt;br /&gt;
&lt;br /&gt;
If more than one job is ready, beanstalkd will choose the one with the&lt;br /&gt;
smallest priority value. Within each priority, it will choose the one that&lt;br /&gt;
was received first.&lt;br /&gt;
&lt;br /&gt;
A timeout value of 0 will cause the server to immediately return either a&lt;br /&gt;
response or TIMED_OUT.  A positive value of timeout will limit the amount of&lt;br /&gt;
time the client will block on the reserve request until a job becomes&lt;br /&gt;
available.&lt;br /&gt;
&lt;br /&gt;
During the TTR of a reserved job, the last second is kept by the server as a&lt;br /&gt;
safety margin, during which the client will not be made to wait for another&lt;br /&gt;
job. If the client issues a reserve command during the safety margin, or if&lt;br /&gt;
the safety margin arrives while the client is waiting on a reserve command,&lt;br /&gt;
the server will respond with:&lt;br /&gt;
&lt;br /&gt;
DEADLINE_SOON\r\n&lt;br /&gt;
&lt;br /&gt;
This gives the client a chance to delete or release its reserved job before&lt;br /&gt;
the server automatically releases it.&lt;br /&gt;
&lt;br /&gt;
TIMED_OUT\r\n&lt;br /&gt;
&lt;br /&gt;
If a non-negative timeout was specified and the timeout exceeded before a job&lt;br /&gt;
became available, or if the client's connection is half-closed, the server&lt;br /&gt;
will respond with TIMED_OUT.&lt;br /&gt;
&lt;br /&gt;
Otherwise, the only other response to this command is a successful reservation&lt;br /&gt;
in the form of a text line followed by the job body:&lt;br /&gt;
&lt;br /&gt;
RESERVED &amp;lt;id&amp;gt; &amp;lt;bytes&amp;gt;\r\n&lt;br /&gt;
&amp;lt;data&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the job id -- an integer unique to this job in this instance of&lt;br /&gt;
   beanstalkd.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bytes&amp;gt; is an integer indicating the size of the job body, not including&lt;br /&gt;
   the trailing &amp;quot;\r\n&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;data&amp;gt; is the job body -- a sequence of bytes of length &amp;lt;bytes&amp;gt; from the&lt;br /&gt;
   previous line. This is a verbatim copy of the bytes that were originally&lt;br /&gt;
   sent to the server in the put command for this job.&lt;br /&gt;
&lt;br /&gt;
The delete command removes a job from the server entirely. It is normally used&lt;br /&gt;
by the client when the job has successfully run to completion. A client can&lt;br /&gt;
delete jobs that it has reserved, ready jobs, delayed jobs, and jobs that are&lt;br /&gt;
buried. The delete command looks like this:&lt;br /&gt;
&lt;br /&gt;
delete &amp;lt;id&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the job id to delete.&lt;br /&gt;
&lt;br /&gt;
The client then waits for one line of response, which may be:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;DELETED\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the job does not exist or is not either reserved by the&lt;br /&gt;
   client, ready, or buried. This could happen if the job timed out before the&lt;br /&gt;
   client sent the delete command.&lt;br /&gt;
&lt;br /&gt;
The release command puts a reserved job back into the ready queue (and marks&lt;br /&gt;
its state as &amp;quot;ready&amp;quot;) to be run by any client. It is normally used when the job&lt;br /&gt;
fails because of a transitory error. It looks like this:&lt;br /&gt;
&lt;br /&gt;
release &amp;lt;id&amp;gt; &amp;lt;pri&amp;gt; &amp;lt;delay&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the job id to release.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;pri&amp;gt; is a new priority to assign to the job.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;delay&amp;gt; is an integer number of seconds to wait before putting the job in&lt;br /&gt;
   the ready queue. The job will be in the &amp;quot;delayed&amp;quot; state during this time.&lt;br /&gt;
&lt;br /&gt;
The client expects one line of response, which may be:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;RELEASED\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;BURIED\r\n&amp;quot; if the server ran out of memory trying to grow the priority&lt;br /&gt;
   queue data structure.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the job does not exist or is not reserved by the client.&lt;br /&gt;
&lt;br /&gt;
The bury command puts a job into the &amp;quot;buried&amp;quot; state. Buried jobs are put into a&lt;br /&gt;
FIFO linked list and will not be touched by the server again until a client&lt;br /&gt;
kicks them with the &amp;quot;kick&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
The bury command looks like this:&lt;br /&gt;
&lt;br /&gt;
bury &amp;lt;id&amp;gt; &amp;lt;pri&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the job id to release.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;pri&amp;gt; is a new priority to assign to the job.&lt;br /&gt;
&lt;br /&gt;
There are two possible responses:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;BURIED\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the job does not exist or is not reserved by the client.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;touch&amp;quot; command allows a worker to request more time to work on a job.&lt;br /&gt;
This is useful for jobs that potentially take a long time, but you still want&lt;br /&gt;
the benefits of a TTR pulling a job away from an unresponsive worker.  A worker&lt;br /&gt;
may periodically tell the server that it's still alive and processing a job&lt;br /&gt;
(e.g. it may do this on DEADLINE_SOON). The command postpones the auto&lt;br /&gt;
release of a reserved job until TTR seconds from when the command is issued.&lt;br /&gt;
&lt;br /&gt;
The touch command looks like this:&lt;br /&gt;
&lt;br /&gt;
touch &amp;lt;id&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the ID of a job reserved by the current connection.&lt;br /&gt;
&lt;br /&gt;
There are two possible responses:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;TOUCHED\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the job does not exist or is not reserved by the client.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;watch&amp;quot; command adds the named tube to the watch list for the current&lt;br /&gt;
connection. A reserve command will take a job from any of the tubes in the&lt;br /&gt;
watch list. For each new connection, the watch list initially consists of one&lt;br /&gt;
tube, named &amp;quot;default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
watch &amp;lt;tube&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;tube&amp;gt; is a name at most 200 bytes. It specifies a tube to add to the watch&lt;br /&gt;
   list. If the tube doesn't exist, it will be created.&lt;br /&gt;
&lt;br /&gt;
The reply is:&lt;br /&gt;
&lt;br /&gt;
WATCHING &amp;lt;count&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;count&amp;gt; is the integer number of tubes currently in the watch list.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;ignore&amp;quot; command is for consumers. It removes the named tube from the&lt;br /&gt;
watch list for the current connection.&lt;br /&gt;
&lt;br /&gt;
ignore &amp;lt;tube&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
The reply is one of:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;WATCHING &amp;lt;count&amp;gt;\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;count&amp;gt; is the integer number of tubes currently in the watch list.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_IGNORED\r\n&amp;quot; if the client attempts to ignore the only tube in its&lt;br /&gt;
   watch list.&lt;br /&gt;
&lt;br /&gt;
Other Commands&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
The peek commands let the client inspect a job in the system. There are four&lt;br /&gt;
variations. All but the first operate only on the currently used tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;peek &amp;lt;id&amp;gt;\r\n&amp;quot; - return job &amp;lt;id&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;peek-ready\r\n&amp;quot; - return the next ready job.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;peek-delayed\r\n&amp;quot; - return the delayed job with the shortest delay left.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;peek-buried\r\n&amp;quot; - return the next job in the list of buried jobs.&lt;br /&gt;
&lt;br /&gt;
There are two possible responses, either a single line:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the requested job doesn't exist or there are no jobs in&lt;br /&gt;
   the requested state.&lt;br /&gt;
&lt;br /&gt;
Or a line followed by a chunk of data, if the command was successful:&lt;br /&gt;
&lt;br /&gt;
FOUND &amp;lt;id&amp;gt; &amp;lt;bytes&amp;gt;\r\n&lt;br /&gt;
&amp;lt;data&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the job id.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bytes&amp;gt; is an integer indicating the size of the job body, not including&lt;br /&gt;
   the trailing &amp;quot;\r\n&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;data&amp;gt; is the job body -- a sequence of bytes of length &amp;lt;bytes&amp;gt; from the&lt;br /&gt;
   previous line.&lt;br /&gt;
&lt;br /&gt;
The kick command applies only to the currently used tube. It moves jobs into&lt;br /&gt;
the ready queue. If there are any buried jobs, it will only kick buried jobs.&lt;br /&gt;
Otherwise it will kick delayed jobs. It looks like:&lt;br /&gt;
&lt;br /&gt;
kick &amp;lt;bound&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bound&amp;gt; is an integer upper bound on the number of jobs to kick. The server&lt;br /&gt;
   will kick no more than &amp;lt;bound&amp;gt; jobs.&lt;br /&gt;
&lt;br /&gt;
The response is of the form:&lt;br /&gt;
&lt;br /&gt;
KICKED &amp;lt;count&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;count&amp;gt; is an integer indicating the number of jobs actually kicked.&lt;br /&gt;
&lt;br /&gt;
The kick-job command is a variant of kick that operates with a single job&lt;br /&gt;
identified by its job id. If the given job id exists and is in a buried or&lt;br /&gt;
delayed state, it will be moved to the ready queue of the the same tube where it&lt;br /&gt;
currently belongs. The syntax is:&lt;br /&gt;
&lt;br /&gt;
kick-job &amp;lt;id&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is the job id to kick.&lt;br /&gt;
&lt;br /&gt;
The response is one of:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the job does not exist or is not in a kickable state. This&lt;br /&gt;
   can also happen upon internal errors.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;KICKED\r\n&amp;quot; when the operation succeeded.&lt;br /&gt;
&lt;br /&gt;
The stats-job command gives statistical information about the specified job if&lt;br /&gt;
it exists. Its form is:&lt;br /&gt;
&lt;br /&gt;
stats-job &amp;lt;id&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;id&amp;gt; is a job id.&lt;br /&gt;
&lt;br /&gt;
The response is one of:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the job does not exist.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;OK &amp;lt;bytes&amp;gt;\r\n&amp;lt;data&amp;gt;\r\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;bytes&amp;gt; is the size of the following data section in bytes.&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;data&amp;gt; is a sequence of bytes of length &amp;lt;bytes&amp;gt; from the previous line. It&lt;br /&gt;
     is a YAML file with statistical information represented a dictionary.&lt;br /&gt;
&lt;br /&gt;
The stats-job data is a YAML file representing a single dictionary of strings&lt;br /&gt;
to scalars. It contains these keys:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;id&amp;quot; is the job id&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;tube&amp;quot; is the name of the tube that contains this job&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;state&amp;quot; is &amp;quot;ready&amp;quot; or &amp;quot;delayed&amp;quot; or &amp;quot;reserved&amp;quot; or &amp;quot;buried&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;pri&amp;quot; is the priority value set by the put, release, or bury commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;age&amp;quot; is the time in seconds since the put command that created this job.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;time-left&amp;quot; is the number of seconds left until the server puts this job&lt;br /&gt;
   into the ready queue. This number is only meaningful if the job is&lt;br /&gt;
   reserved or delayed. If the job is reserved and this amount of time&lt;br /&gt;
   elapses before its state changes, it is considered to have timed out.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;file&amp;quot; is the number of the earliest binlog file containing this job.&lt;br /&gt;
   If -b wasn't used, this will be 0.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;reserves&amp;quot; is the number of times this job has been reserved.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;timeouts&amp;quot; is the number of times this job has timed out during a&lt;br /&gt;
   reservation.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;releases&amp;quot; is the number of times a client has released this job from a&lt;br /&gt;
   reservation.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;buries&amp;quot; is the number of times this job has been buried.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;kicks&amp;quot; is the number of times this job has been kicked.&lt;br /&gt;
&lt;br /&gt;
The stats-tube command gives statistical information about the specified tube&lt;br /&gt;
if it exists. Its form is:&lt;br /&gt;
&lt;br /&gt;
stats-tube &amp;lt;tube&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;tube&amp;gt; is a name at most 200 bytes. Stats will be returned for this tube.&lt;br /&gt;
&lt;br /&gt;
The response is one of:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the tube does not exist.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;OK &amp;lt;bytes&amp;gt;\r\n&amp;lt;data&amp;gt;\r\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;bytes&amp;gt; is the size of the following data section in bytes.&lt;br /&gt;
&lt;br /&gt;
   - &amp;lt;data&amp;gt; is a sequence of bytes of length &amp;lt;bytes&amp;gt; from the previous line. It&lt;br /&gt;
     is a YAML file with statistical information represented a dictionary.&lt;br /&gt;
&lt;br /&gt;
The stats-tube data is a YAML file representing a single dictionary of strings&lt;br /&gt;
to scalars. It contains these keys:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;name&amp;quot; is the tube's name.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-urgent&amp;quot; is the number of ready jobs with priority &amp;lt; 1024 in&lt;br /&gt;
   this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-ready&amp;quot; is the number of jobs in the ready queue in this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-reserved&amp;quot; is the number of jobs reserved by all clients in&lt;br /&gt;
   this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-delayed&amp;quot; is the number of delayed jobs in this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-buried&amp;quot; is the number of buried jobs in this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;total-jobs&amp;quot; is the cumulative count of jobs created in this tube in&lt;br /&gt;
   the current beanstalkd process.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-using&amp;quot; is the number of open connections that are currently&lt;br /&gt;
   using this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-waiting&amp;quot; is the number of open connections that have issued a&lt;br /&gt;
   reserve command while watching this tube but not yet received a response.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-watching&amp;quot; is the number of open connections that are currently&lt;br /&gt;
   watching this tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;pause&amp;quot; is the number of seconds the tube has been paused for.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-delete&amp;quot; is the cumulative number of delete commands for this tube&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-pause-tube&amp;quot; is the cumulative number of pause-tube commands for this&lt;br /&gt;
   tube.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;pause-time-left&amp;quot; is the number of seconds until the tube is un-paused.&lt;br /&gt;
&lt;br /&gt;
The stats command gives statistical information about the system as a whole.&lt;br /&gt;
Its form is:&lt;br /&gt;
&lt;br /&gt;
stats\r\n&lt;br /&gt;
&lt;br /&gt;
The server will respond:&lt;br /&gt;
&lt;br /&gt;
OK &amp;lt;bytes&amp;gt;\r\n&lt;br /&gt;
&amp;lt;data&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bytes&amp;gt; is the size of the following data section in bytes.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;data&amp;gt; is a sequence of bytes of length &amp;lt;bytes&amp;gt; from the previous line. It&lt;br /&gt;
   is a YAML file with statistical information represented a dictionary.&lt;br /&gt;
&lt;br /&gt;
The stats data for the system is a YAML file representing a single dictionary&lt;br /&gt;
of strings to scalars. Entries described as &amp;quot;cumulative&amp;quot; are reset when the&lt;br /&gt;
beanstalkd process starts; they are not stored on disk with the -b flag.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-urgent&amp;quot; is the number of ready jobs with priority &amp;lt; 1024.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-ready&amp;quot; is the number of jobs in the ready queue.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-reserved&amp;quot; is the number of jobs reserved by all clients.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-delayed&amp;quot; is the number of delayed jobs.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-jobs-buried&amp;quot; is the number of buried jobs.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-put&amp;quot; is the cumulative number of put commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-peek&amp;quot; is the cumulative number of peek commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-peek-ready&amp;quot; is the cumulative number of peek-ready commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-peek-delayed&amp;quot; is the cumulative number of peek-delayed commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-peek-buried&amp;quot; is the cumulative number of peek-buried commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-reserve&amp;quot; is the cumulative number of reserve commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-use&amp;quot; is the cumulative number of use commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-watch&amp;quot; is the cumulative number of watch commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-ignore&amp;quot; is the cumulative number of ignore commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-delete&amp;quot; is the cumulative number of delete commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-release&amp;quot; is the cumulative number of release commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-bury&amp;quot; is the cumulative number of bury commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-kick&amp;quot; is the cumulative number of kick commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-stats&amp;quot; is the cumulative number of stats commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-stats-job&amp;quot; is the cumulative number of stats-job commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-stats-tube&amp;quot; is the cumulative number of stats-tube commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-list-tubes&amp;quot; is the cumulative number of list-tubes commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-list-tube-used&amp;quot; is the cumulative number of list-tube-used commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-list-tubes-watched&amp;quot; is the cumulative number of list-tubes-watched&lt;br /&gt;
   commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;cmd-pause-tube&amp;quot; is the cumulative number of pause-tube commands.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;job-timeouts&amp;quot; is the cumulative count of times a job has timed out.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;total-jobs&amp;quot; is the cumulative count of jobs created.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;max-job-size&amp;quot; is the maximum number of bytes in a job.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-tubes&amp;quot; is the number of currently-existing tubes.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-connections&amp;quot; is the number of currently open connections.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-producers&amp;quot; is the number of open connections that have each&lt;br /&gt;
   issued at least one put command.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-workers&amp;quot; is the number of open connections that have each issued&lt;br /&gt;
   at least one reserve command.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;current-waiting&amp;quot; is the number of open connections that have issued a&lt;br /&gt;
   reserve command but not yet received a response.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;total-connections&amp;quot; is the cumulative count of connections.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;pid&amp;quot; is the process id of the server.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;version&amp;quot; is the version string of the server.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;rusage-utime&amp;quot; is the cumulative user CPU time of this process in seconds&lt;br /&gt;
   and microseconds.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;rusage-stime&amp;quot; is the cumulative system CPU time of this process in&lt;br /&gt;
   seconds and microseconds.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;uptime&amp;quot; is the number of seconds since this server process started running.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;binlog-oldest-index&amp;quot; is the index of the oldest binlog file needed to&lt;br /&gt;
   store the current jobs.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;binlog-current-index&amp;quot; is the index of the current binlog file being&lt;br /&gt;
   written to. If binlog is not active this value will be 0.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;binlog-max-size&amp;quot; is the maximum size in bytes a binlog file is allowed&lt;br /&gt;
   to get before a new binlog file is opened.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;binlog-records-written&amp;quot; is the cumulative number of records written&lt;br /&gt;
   to the binlog.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;binlog-records-migrated&amp;quot; is the cumulative number of records written&lt;br /&gt;
   as part of compaction.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;id&amp;quot; is a random id string for this server process, generated when each&lt;br /&gt;
   beanstalkd process starts.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;hostname&amp;quot; the hostname of the machine as determined by uname.&lt;br /&gt;
&lt;br /&gt;
The list-tubes command returns a list of all existing tubes. Its form is:&lt;br /&gt;
&lt;br /&gt;
list-tubes\r\n&lt;br /&gt;
&lt;br /&gt;
The response is:&lt;br /&gt;
&lt;br /&gt;
OK &amp;lt;bytes&amp;gt;\r\n&lt;br /&gt;
&amp;lt;data&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bytes&amp;gt; is the size of the following data section in bytes.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;data&amp;gt; is a sequence of bytes of length &amp;lt;bytes&amp;gt; from the previous line. It&lt;br /&gt;
   is a YAML file containing all tube names as a list of strings.&lt;br /&gt;
&lt;br /&gt;
The list-tube-used command returns the tube currently being used by the&lt;br /&gt;
client. Its form is:&lt;br /&gt;
&lt;br /&gt;
list-tube-used\r\n&lt;br /&gt;
&lt;br /&gt;
The response is:&lt;br /&gt;
&lt;br /&gt;
USING &amp;lt;tube&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;tube&amp;gt; is the name of the tube being used.&lt;br /&gt;
&lt;br /&gt;
The list-tubes-watched command returns a list tubes currently being watched by&lt;br /&gt;
the client. Its form is:&lt;br /&gt;
&lt;br /&gt;
list-tubes-watched\r\n&lt;br /&gt;
&lt;br /&gt;
The response is:&lt;br /&gt;
&lt;br /&gt;
OK &amp;lt;bytes&amp;gt;\r\n&lt;br /&gt;
&amp;lt;data&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;bytes&amp;gt; is the size of the following data section in bytes.&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;data&amp;gt; is a sequence of bytes of length &amp;lt;bytes&amp;gt; from the previous line. It&lt;br /&gt;
   is a YAML file containing watched tube names as a list of strings.&lt;br /&gt;
&lt;br /&gt;
The quit command simply closes the connection. Its form is:&lt;br /&gt;
&lt;br /&gt;
quit\r\n&lt;br /&gt;
&lt;br /&gt;
The pause-tube command can delay any new job being reserved for a given time. Its form is:&lt;br /&gt;
&lt;br /&gt;
pause-tube &amp;lt;tube-name&amp;gt; &amp;lt;delay&amp;gt;\r\n&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;tube&amp;gt; is the tube to pause&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;delay&amp;gt; is an integer number of seconds to wait before reserving any more&lt;br /&gt;
   jobs from the queue&lt;br /&gt;
&lt;br /&gt;
There are two possible responses:&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;PAUSED\r\n&amp;quot; to indicate success.&lt;br /&gt;
&lt;br /&gt;
 - &amp;quot;NOT_FOUND\r\n&amp;quot; if the tube does not exist.&lt;/div&gt;</summary>
		<author><name>imported&gt;Supportadmin</name></author>
	</entry>
</feed>