- fixed Issue #12 - fixed a behavior of scheduled tasks when submitted without interval (run too often)
- updated dependencies versions
- moves Spring's bean to component-scan flavor - allows to import the XML now without duplicate singletons' creation
- fixed Issue #11 - getting rid of static counters of Prometheus, making problems in multi class loaders environments
- updating dependencies to the latest versions
- fixed Issue #5 - fixing the time zoning problem in PostgreSQL data provider
- fixed Issue #3 - fix the printing of the abandoned tasks' bodies (those with no tasks metadata) during the maintenance work
- fixed Issue #4 - clean up the abandoned tasks' bodies even when the bodies partition is not being truncated due to the existence of non-abandoned bodies there
- fixed Issue #1 - prevent print out of a task bodies (might be quite big ones)
- re-branded version of
GullerYA
(initial developer and library's owner) due to fork fromMicroFocus
repository
- fixed Issue #18 - added robustness to the queue working cycle
- several performance improvements in queries
- several performance and algorithm improvements in fair tasks distribution logic
- implemented Issue #15 - added application context (
application-key
) as an optional attribute of the tasks - implemented Issue #16 - allowed conditional task dispatch based on consumer application logic (provided with
application-key
)
- implemented Issue #10
- improved detection and removal of staled tasks
- added tracking of active nodes
- improved overall DB related performance (pessimistic locking, but custom locks in SQL Server and PostgreSQL)
- changed to public open-source repo
- added Apache 2.0 license
- added license notice for each file as required by OSRB team
- adjusted
pom.xml
to be compliant with Maven Central projects requirements - added Java Docs generation option
- added support for
PostgreSQL
- improved performance of SQL strings handling (static constants instead of dynamically building each time)
- removed usage of
CTSKM_IDX_2
inSELECT
statements of MSSQL to reduce the probability of deadlocks
- added
isEnabled
to SPI to allow configurer to suspendcluster-tasks-service
from dispatching tasks and maintenance
- added pending tasks counters gauge to enable monitoring for the per-processor-type queues debt
- add schema readiness verification on startup
- internal refactor as preparation for
PostgreSQL
support - moving to latest
octane-component-parent
to get latestfasterxml
library - previous ones has security issue
- changed naming of
ClusterTasksProcessorDefault
toClusterTasksProcessorSimple
in attempt to make it clearer - removed unneeded attempt to enqueue scheduled tasks where there is high probability that there is already one in place
- fixed rare race condition that may have caused duplicate tasks runs in Oracle
- dispatching/GC logic improvements
- GC improvements
- better scheduled tasks handling and recovery
- minor fixes
- documentation
- solve potential task loss due to race when (re-)enqueueing task with uniqueness key
- tasks creation refactored, now providing builders for convenience, early validation and coding-time restrictions enforcement
- added fairness logic between the concurrency keys
- added integration with
prometheus
monitoring metrics
- small improvements in tasks retrieving query
- fixed potential deadlock while task retrieved in MSSQL use-case
- added tests coverage monitoring (
jacoco-coverage
Maven profile from parent pom) - moved maintenance task back to be a thread and not CTP task due to defect in case when this task staled on running
- sequencing added (becoming fully independent from hosting application)
- flyway DB management added, achieving independency from hosting application (the only prerequisite left as of now is to get valid DataSource object)
- API changes - not a single ClusterTask object anymore, but one for enqueue and one (immutable) when given out to processor
- initial version