Question & Answer
Question
Is there a way to trigger the Schedule Agent to start processing all eligible orders while it processes new incoming orders?
Answer
The way the Schedule Agent works is when it is triggered for first time, the getJobs picks up and schedules all eligible orders at that point in time. If the number of records to buffer is less than the total number of orders that are ready for scheduling, system picks up only the first set of orders (equal to the number of records to buffer) and places messages for each task_q_key along with another getJobs message with the last task_q_key in it.
Once the Schedule Agent completes processing the first
set, it picks up the next getJobs message and picks up the task_q records >
last task_q_key processed. Similarly, it picks each set until no more new
task_q_keys (representing new orders) exist. Once it has processed all the
orders, it passes the original trigger/getJobs message to start again from the
beginning to pull all eligible orders for scheduling. During this process,
orders skipped due to any check are put back into the task_q. The Schedule
Agent then picks those up only when it completes one full cycle.
If there is a lag in throughput of the Schedule Agent,
then the time taken to complete the cycle will be longer. As a result, there
will be a delay in re-visiting old orders (that the Schedule Agent had put back
into the task_q for some valid reason and pushed the available_date to a few
hours later).
The question is in such a situation:
Will fixing the root cause of slowness for this agent make the Schedule Agent start processing again from the beginning? I.e. Will it pull all the eligible orders for scheduling rather than the new incoming orders? If not, how can I achieve this?
The question is in such a situation:
Will fixing the root cause of slowness for this agent make the Schedule Agent start processing again from the beginning? I.e. Will it pull all the eligible orders for scheduling rather than the new incoming orders? If not, how can I achieve this?
The answer to the above question is
'No'. The Schedule Agent will not start processing from the beginning
automatically once the root cause is fixed. The best option to achieve this is
by following these steps:
- Fix the root cause of the problem (it can be in the database, JVM, etc).
- Stop the Schedule Agent (all JVMs if it is running in multiple JVMs).
- Flush the JMS queue, so that all get/execute messages will be cleaned out.
- Start all Schedule Agent JVMs again.
[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]
Historical Number
FAQ3554
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21517606