Asynchronous Processing Flow
The following diagram shows the processing flow within the Async Framework.
Physical Flow of Events
-
The process begins through a task or user action in a Landmark application that calls for background asynchronous processing.
-
The task or user action causes Landmark to create an async action request.
-
A background task scans for async action requests. It determines when to execute unprocessed tasks, and, for requests whose execution time has come, it determines the best queue mapping for the request. If no queue mapping is found, the default queue is used.
-
A trigger is created for the request on the queue the request was assigned to.
-
A background task scans the triggers for each enabled queue and, if it finds triggers and the queue has available worker threads, it updates the trigger status and finds a place to run the trigger's action. If the queue is in a queue group, the system also checks if the queue group is suspended and if the queue group's maximum active actions have not been exceeded.
-
The trigger status is updated to acknowledge that processing has started, and then is updated again when the action is executed.
-
A background task scans all running triggers on a regular basis and updates the trigger status for any that it cannot find to indicate that the action has been lost.