Package com.google.gerrit.server.git
Class WorkQueue
- java.lang.Object
- 
- com.google.gerrit.server.git.WorkQueue
 
- 
 public class WorkQueue extends Object Delayed execution of tasks using a background thread pool.
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static interfaceWorkQueue.CancelableRunnableRunnable needing to know it was canceled.static interfaceWorkQueue.CanceledWhileRunningBase interface handles the case when task was canceled before actual execution and in case it was started cancel method is not called yet the task itself will be destroyed anyway (it will result in resource opening errors).static classWorkQueue.Lifecyclestatic classWorkQueue.Modulestatic classWorkQueue.ProjectTask<V>Same as Task class, but with a reference to ProjectRunnable, used to retrieve the project name from the operation queuedstatic classWorkQueue.Task<V>A wrapper around a scheduled Runnable, as maintained in the queue.
 - 
Constructor SummaryConstructors Constructor Description WorkQueue(IdGenerator idGenerator, int defaultThreadPoolSize, com.google.gerrit.metrics.MetricMaker metrics)Constructor to allow binding the WorkQueue more explicitly in a vhost setup.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description ScheduledExecutorServicecreateQueue(int poolsize, String queueName)Create a new executor queue.ScheduledThreadPoolExecutorcreateQueue(int poolsize, String queueName, boolean withMetrics)Create a new executor queue, with default priority, optionally with metrics.ScheduledThreadPoolExecutorcreateQueue(int poolsize, String queueName, int threadPriority, boolean withMetrics)Create a new executor queue, optionally with metrics.ScheduledExecutorServicegetDefaultQueue()Get the default work queue, for miscellaneous tasks.ScheduledThreadPoolExecutorgetExecutor(String queueName)WorkQueue.Task<?>getTask(int id)Locate a task by its unique id, null if no task matches.<T> List<T>getTaskInfos(TaskInfoFactory<T> factory)List<WorkQueue.Task<?>>getTasks()Get all of the tasks currently scheduled in any work queue.voidscheduleAtFixedRate(Runnable command, ScheduleConfig.Schedule schedule)Executes a periodic command at a fixed schedule on the default queue.
 
- 
- 
- 
Constructor Detail- 
WorkQueuepublic WorkQueue(IdGenerator idGenerator, int defaultThreadPoolSize, com.google.gerrit.metrics.MetricMaker metrics) Constructor to allow binding the WorkQueue more explicitly in a vhost setup.
 
- 
 - 
Method Detail- 
getDefaultQueuepublic ScheduledExecutorService getDefaultQueue() Get the default work queue, for miscellaneous tasks.
 - 
createQueuepublic ScheduledExecutorService createQueue(int poolsize, String queueName) Create a new executor queue.Creates a new executor queue without associated metrics. This method is suitable for use by plugins. If metrics are needed, use createQueue(int, String, int, boolean)instead.- Parameters:
- poolsize- the size of the pool.
- queueName- the name of the queue.
 
 - 
createQueuepublic ScheduledThreadPoolExecutor createQueue(int poolsize, String queueName, boolean withMetrics) Create a new executor queue, with default priority, optionally with metrics.Creates a new executor queue, optionally with associated metrics. Metrics should not be requested for queues created by plugins. - Parameters:
- poolsize- the size of the pool.
- queueName- the name of the queue.
- withMetrics- whether to create metrics.
 
 - 
createQueuepublic ScheduledThreadPoolExecutor createQueue(int poolsize, String queueName, int threadPriority, boolean withMetrics) Create a new executor queue, optionally with metrics.Creates a new executor queue, optionally with associated metrics. Metrics should not be requested for queues created by plugins. - Parameters:
- poolsize- the size of the pool.
- queueName- the name of the queue.
- threadPriority- thread priority.
- withMetrics- whether to create metrics.
 
 - 
scheduleAtFixedRatepublic void scheduleAtFixedRate(Runnable command, ScheduleConfig.Schedule schedule) Executes a periodic command at a fixed schedule on the default queue.
 - 
getTaskspublic List<WorkQueue.Task<?>> getTasks() Get all of the tasks currently scheduled in any work queue.
 - 
getTaskInfospublic <T> List<T> getTaskInfos(TaskInfoFactory<T> factory) 
 - 
getTaskpublic WorkQueue.Task<?> getTask(int id) Locate a task by its unique id, null if no task matches.
 - 
getExecutorpublic ScheduledThreadPoolExecutor getExecutor(String queueName) 
 
- 
 
-