See: Description
Interface | Description |
---|---|
IProcessQueueManager |
Manager that allows a process to be executed asynchronously as well as see what
is currently queued.
|
IProcessQueueManagerSPI |
Manager that controls the consumption part of a queue.
|
IQueueStatistics |
Interface that represents the overall state of the queue.
|
IQueueTask |
Interface that represents a process/task to be executed by the queue processor.
|
IQueueTaskProcess |
Interface that represents a queued process item.
|
Class | Description |
---|---|
AbstractQueueTask |
Default abstract implementation of
IQueueTask for default behaviors. |
ProcessQueueInitializer |
Initializes the queue listening for the current server.
|
QueueManager |
Manager that executes all interactions with the process queue.
|
QueueTaskScheduleConfig |
Configuration for the scheduling of a
IQueueTask . |
Enum | Description |
---|---|
QueueTaskProcessStatus |
Represents the current status of a queue item.
|
IProcessQueueManager
is the main entry
point for this API.
A task is defined by implementing IQueueTask
.
The task may then be scheduled for execution by calling
IProcessQueueManager.schedule(lumis.portal.processqueue.IQueueTask, lumis.portal.processqueue.QueueTaskScheduleConfig)
.
The task scheduling configuration is specified in a
QueueTaskScheduleConfig
object.
Tasks are considered to be queued in the order corresponding to the order
of the calls to IProcessQueueManager.schedule(lumis.portal.processqueue.IQueueTask, lumis.portal.processqueue.QueueTaskScheduleConfig)
that included them.
If a task's
scheduled date-time
is configured, it will not execute before that time.
Tasks may run in parallel or in different order if they do not have dependencies between each other. Tasks that are not currently available for execution, due to being scheduled in the future, do not block other tasks.
Tasks may have dependencies. These dependencies must be reflected in the
shared
and exclusive
locks they are associated with.
A task with a shared lock will not allow any newer task with the same value as an exclusive lock to execute before it. A task with an exclusive lock will not allow any newer task with the same value as either shared or exclusive lock to execute before it. Tasks that are not currently available for execution, due to being scheduled in the future, will not have their lock rules applied until they are available for execution.
Each task may have any number of shared or exclusive locks.
A task will automatically be associated with an exclusive lock with the value
of its process identifier
.
It may be used as a lock when scheduling other tasks to create a
dependency specific to that task process.
LumisXP 12.5.0.200928 - Copyright © 2006–2020 Lumis EIP Tecnologia da Informação LTDA. All Rights Reserved.