Monitoring/polling for tasks vs event driven task execution


In ManageIQ many tasks are driven by the message queue. If a task is in the queue but we have not yet polled for it, the task ends up waiting for “de-queue”. This can slow things down depending on when the task was put on the queue vs. when the queue was last polled. The queue can also merge tasks and actually reduce overall work as required. So there are huge benefits to having the queue.

I would like to open a discussion on other architectures or implementations that ManageIQ could benefit from. Perhaps an event-driven express-lane for tasks that are slowed by waiting for polling while allowing the queue to still merge tasks such as a provider refreshes and performance rollups.