public class WorkQueue
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
WorkQueue.CancelableRunnable
Runnable needing to know it was canceled.
|
static interface |
WorkQueue.CanceledWhileRunning
Base 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).
|
class |
WorkQueue.Executor
An isolated queue.
|
static class |
WorkQueue.Lifecycle |
static class |
WorkQueue.Module |
static class |
WorkQueue.ProjectTask<V>
Same as Task class, but with a reference to ProjectRunnable, used to retrieve the project name
from the operation queued
|
static class |
WorkQueue.Task<V>
A wrapper around a scheduled Runnable, as maintained in the queue.
|
Constructor and Description |
---|
WorkQueue(IdGenerator idGenerator,
int defaultThreadPoolSize,
MetricMaker metrics)
Constructor to allow binding the WorkQueue more explicitly in a vhost setup.
|
Modifier and Type | Method and Description |
---|---|
WorkQueue.Executor |
createQueue(int poolsize,
java.lang.String queueName)
Create a new executor queue.
|
WorkQueue.Executor |
createQueue(int poolsize,
java.lang.String queueName,
boolean withMetrics)
Create a new executor queue, optionally with metrics.
|
WorkQueue.Executor |
getDefaultQueue()
Get the default work queue, for miscellaneous tasks.
|
WorkQueue.Executor |
getExecutor(java.lang.String queueName) |
WorkQueue.Task<?> |
getTask(int id)
Locate a task by its unique id, null if no task matches.
|
<T> java.util.List<T> |
getTaskInfos(TaskInfoFactory<T> factory) |
java.util.List<WorkQueue.Task<?>> |
getTasks()
Get all of the tasks currently scheduled in any work queue.
|
public WorkQueue(IdGenerator idGenerator, int defaultThreadPoolSize, MetricMaker metrics)
public WorkQueue.Executor getDefaultQueue()
public WorkQueue.Executor createQueue(int poolsize, java.lang.String queueName)
Creates a new executor queue without associated metrics. This method is suitable for use by plugins.
If metrics are needed, use createQueue(int, String, boolean)
instead.
poolsize
- the size of the pool.queueName
- the name of the queue.public WorkQueue.Executor createQueue(int poolsize, java.lang.String queueName, boolean withMetrics)
Creates a new executor queue, optionally with associated metrics. Metrics should not be requested for queues created by plugins.
poolsize
- the size of the pool.queueName
- the name of the queue.withMetrics
- whether to create metrics.public java.util.List<WorkQueue.Task<?>> getTasks()
public <T> java.util.List<T> getTaskInfos(TaskInfoFactory<T> factory)
public WorkQueue.Task<?> getTask(int id)
public WorkQueue.Executor getExecutor(java.lang.String queueName)