Currently, there is a initial, simple implementation of a queue to feed the controller workflow invocation that it should evaluate. However with higher loads of workflow invocations the queue tends to overflow. This is due to two reasons:
Invocations can occur multiple times in the queue
There is no notion of priority
These issues cause the controller not to keep up with the growing queue. Besides, the invocations that need to be evaluated get buried in between the unnecessary invocations.
To resolve this we need an implementation that supports both priorities and ensure that there are no duplicates in the queue. A promising solution to this is to use a priority queue.
Currently, there is a initial, simple implementation of a queue to feed the controller workflow invocation that it should evaluate. However with higher loads of workflow invocations the queue tends to overflow. This is due to two reasons:
To resolve this we need an implementation that supports both priorities and ensure that there are no duplicates in the queue. A promising solution to this is to use a priority queue.