Workflow Deferred Agent Listener is a background process that is responsible for processing the deferred workflow activities. This process is automatically started when the system is started and runs continuously to process the deferred activities.
The deferred activities are those that cannot be processed immediately due to some reason such as the absence of a required resource or an error in the system.
The Workflow Deferred Agent Listener actually checks for any deferred activities in the system and processes them when they become available.
Checking the status of the Workflow Deferred Agent Listener:
To check the status of the Workflow Deferred Agent Listener, you can use the Workflow Manager responsibility in Oracle EBS R12.2. This responsibility provides an option to view the status of the deferred agent listener. If the status is “Stopped”, you will need to restart the agent listener.
You can also restart the Workflow Deferred Agent Listener from the server side using the following command:
$FND_TOP/bin/wfmadmin.sh Then select option 2. Restart Workflow Background Engine.
Workflow Deferred Queue Monitoring is the process of monitoring the deferred queue, which is the queue that contains the deferred activities. The monitoring process helps to identify any issues with the deferred queue and take necessary action to resolve them. The monitoring process includes checking the status of the deferred queue, identifying any stuck or blocked activities, and taking appropriate action to resolve the issue.
SQL Query to check the status of Workflow Deferred Agent Listener:
SELECT fsc.component_name,fsc.startup_mode,fsc.component_status FROM apps.fnd_concurrent_queues_vl fcq, fnd_svc_components fsc WHERE fsc.concurrent_queue_id = fcq.concurrent_queue_id(+) ORDER BY component_status, startup_mode, component_name;
In case you had an issue with Workflow Deferred Agent Listener and you restarted it, you can run the below query for 2 to 3 mins to see if the count is reducing in the queue corresponding to CORR_ID(s):
SELECT corr_id, msg_state, COUNT(*) FROM applsys.aq$wf_deferred WHERE msg_state = 'READY' GROUP BY corr_id, msg_state ORDER BY corr_id;
Alternatively, use the below query to verify if the PROCESSED data count increasing or data count with READY status is decreasing:
SELECT msg_state, COUNT(msg_state) FROM applsys.aq$wf_deferred GROUP BY msg_state;
If the number of records READY records is not reducing from the queue then restart Workflow listeners from the Concurrent Manager Administer screen also as we have seen that it helps many times. If it does not help then we need to deep dive and look at the WF log files.
Reference:
Troubleshooting WF_DEFERRED Agent Listeners Performance (Doc ID 468650.1)
- Building a Scalable and Secure AI Infrastructure in the Cloud - May 12, 2024
- Harnessing the Power of AI in the Cloud for Business Transformation - March 2, 2024
- Building a Resilient Cybersecurity Framework in the Oracle Cloud - January 16, 2024
This shows how to get the status, but how can we stop and start these wf deferred notification agent listeners also from backend?