gerrit show-queue
=================

NAME
----
gerrit show-queue - Display the background work queues, including replication

SYNOPSIS
--------
[verse]
'ssh' -p <port> <host> 'gerrit show-queue'

DESCRIPTION
-----------
Presents a table of the pending background activity the Gerrit
daemon will perform in the near future.  Gerrit contains an internal
scheduler, similar to cron, that it uses to queue and dispatch both
short and long term background activity.

Tasks that are completed or cancelled exit the queue very quickly
once they enter this state, but it can be possible to observe tasks
in these states.

ACCESS
------
Caller must be a member of the privileged 'Administrators' group.

SCRIPTING
---------
Intended for interactive use only.

DISPLAY
-------

S::
	Current state of the task.  States are:
+
* `D`: task is complete, but hasn't released its worker yet. 
* `C`: task has been cancelled, but hasn't left the queue yet.
* `R`: task is actively running on a worker thread.
* `W`: task is ready to run, waiting for a worker thread.
* `S`: task is sleeping until its Start time.

Start::
	Time (local to the server) that this task will begin
	execution.  Blank if the task is completed, running, or
	ready to run but is waiting for a worker thread to become
	available.

Task::
	Short text description of the task that will be performed
	at the given time.

EXAMPLES
--------

The following queue contains two tasks scheduled to replicate the
`tools/gerrit.git` project to two different remote systems, `dst1`
and `dst2`:

====
	$ ssh -p 29418 review.example.com gerrit show-queue
	 S  Start         Task
	--------------------------------------------------------------
	 S  14:31:15.435  mirror dst1:/home/git/tools/gerrit.git
	 S  14:31:25.434  mirror dst2:/var/cache/tools/gerrit.git
	--------------------------------------------------------------
	  2 tasks
====

DEFECTS
-------
There is a small race condition where tasks may disappear from the
output of this command while they transition from the ready/waiting
(`W`) or sleeping (`S`) state to the running (`R`) state.

GERRIT
------
Part of link:index.html[Gerrit Code Review]
