Deferred Requests Queue
There are use cases where an entity is set to a status that waits for a subsequent task to be performed asynchronously. Such tasks are implemented using monitor rules plugged into the entity's business object status definition along with a batch control. These monitor rules are not processed right away when the record is set to that status but rather get deferred to when the associated batch runs next.
Prior to this release, these deferred monitor rules were processed only by the associated batch process, which was too slow for asynchronous tasks that need to be performed near real time. As of this release, a new mechanism is available to perform these tasks near real-time.
The new mechanism offers a managed queue of messages. Each message represents a request to perform the monitor rules of a given entity, similar to how they would be processed in batch. The simplest way to add such message to the queue is to plug the "Add a Deferred Request (F1-DFREQADDN)" Enter algorithm into each business object status with deferred monitor rules that require near real-time processing. The DeferredRequestAPI function is also available for groovy based plug-ins to support custom rules around when and how to create such entries in the queue.
In addition, the Data Synchronization Control extendable lookup has been enhanced to allow specific integrations to request near real-time processing.
Allowing deferred requests to be processed near real-time instead of batch significantly improves solutions that involve asynchronous tasks that needs to be performed in a timely manner.
Steps to enable and configure
To enable this feature, complete these steps:
- Identify which of your custom business object status configurations are associated with deferred monitor rules and may benefit from near real-time processing.
- Add the "Add a Deferred Request (F1-DFREQADDN)" Enter algorithm to each such status definition.
Tips and considerations
Refer to Deferred Requests Queue in the Framework Administrative User Guide for more information.