A central service abstracting background long-running work management should be created.
It should take into account the use cases of:
- Java ExecutorService
- JCA WorkManager
- maybe Quartz Scheduler
In particular:
- put jobs into various categories that may be executed in parallel,
- give job priorities,
- see job progress,
- get a history of passed, current and future jobs,
It should be able to evolve quickly into a solution that can persist job state to allow them to continue after server restart.
It should also be able to evolve into a cluster-aware solution so that jobs running on other cluster nodes can be managed, and jobs can be scheduled onto specific or multiple nodes.
In the first phase this task is just about abstracting an API and implementation to replace the various uses of a ThreadPoolExecutor in Nuxeo.
- is required by
-
NXP-10668 Allow WorkManager scheduling to use a priority queue
- Resolved