Sometimes the MELD-Windows shows the following error-message:
U00010037 Object: 'XYZ', client: 'XX': processing interrupted, possible loop! Script processing will continue in '128' seconds.
Can someone provide an sql query in order to identify the runid's of those jobs? I've written this query. Maybe there is an more elegant way of getting this information. (Currently scenario that loop has been fixed in the meanwhile is not covered)
SELECT ah_idnr RunID,
ah_name JobName,
ah_client UC4_Client,
ah_timestamp1 JobStart
FROM uc4.ah
WHERE ah_name IN (SELECT DISTINCT jobname
FROM (SELECT Substr(meld_msginsert, 1,
Instr(meld_msginsert, '|')
- 1) AS
Jobname,
meld_client
FROM uc4.meld
WHERE meld_msgnr = '10037')
WHERE meld_client != '0')
AND ( ah_timestamp4 IS NULL
AND ah_timestamp3 IS NULL );
Original Message:
Sent: 06-05-2020 09:11 AM
From: Michael TMO8Y2tl
Subject: Stability of Automic Platform
is there an option on how to restrict POST / LOG - Reports?
I'm also searching for a query which identifies the runid of jobs with infinitive loops.
Original Message:
Sent: 02-17-2020 12:03 PM
From: Michael TMO8Y2tl
Subject: Stability of Automic Platform
MAX_REPORT_SIZE is already set to 20. However, there is a rest job with several post processing (POST) pages (+4.000.000). Can this be limited on a global level instead of an object level?
For this particular job Write agent log
Original Message:
Sent: 02-16-2020 06:44 AM
From: Antoine Sauteron
Subject: Stability of Automic Platform
Hi,
You can try something along these lines :
SELECT AH_Client, AH_NAME, COUNT (RT_AH_IDNR)
FROM uc4.AH, uc4.RT
WHERE AH_Idnr= RT_AH_Idnr
GROUP BY AH_NAME, AH_CLIENT
ORDER BY 3 DESC;
However it's pretty slow and can surely be improved. As RT is one of the biggest tables maybe it'd make sense checking / rebuilding the indexes before running this SQL.
Regarding the time frame you can either use the timestamps from AH or RT. Those from AH are more informative because they will tell you when the job was activated, started, when it has ended and when it was deactivated. On the other hand RT only has one timestamp, assumably the time when the report line was written to the DB.
Best regards,
Antoine
Original Message:
Sent: 02-15-2020 10:14 AM
From: Michael TMO8Y2tl
Subject: Stability of Automic Platform
Unfortunately, this query dont work for me because we're using Oracle (SQL Developer)..
Perfect would be something like this:
Client | Job_Name | Count of RT records
sorted by the job with most RT records. Filtered by specific date range.
Original Message:
Sent: 02-14-2020 11:38 AM
From: Pete Wirfs
Subject: Stability of Automic Platform
"limit the amount of allowed activities"
There are multiple tricks available. You can throttle concurrent activities via QUEUE object restrictions. You can throttle an individual task by limiting how many of them can run at the same time. I've also used SYNC objects to throttle a family of tasks. There may be more ways(?)
Regarding finding objects that cause more RT records, I use this SQLServer query;
select oh_name as job_name --, ah_timestamp1 as activation_time , dateadd(hour, datediff(hour, getutcdate(), getdate()), ah_TimeStamp2) as Start_time --, ah_runtime as runtime , CONVERT(varchar, DATEADD(ms, ah_runtime * 1000, 0), 114) as runtime , count(*) as report_sizefrom uc4.dbo.rt , uc4.dbo.ah , uc4.dbo.ohwhere ah_timestamp1 > cast('20191201 00:00:00:000' as DATETIME) -- how far back in timeand ah_oh_idnr = oh_idnrand rt_ah_idnr = ah_idnrand not oh_name in ('APPUTILP', 'AE_PROD#WP001') -- Objects to exclude from the selectiongroup by oh_name, ah_timestamp1, ah_timestamp2, ah_runtimehaving count(*) > 500 -- MAX_REPORT_SIZE is set in UC_HOSTCHAR_DEFAULTorder by 2;
------------------------------
Pete
Original Message:
Sent: 02-14-2020 06:17 AM
From: Michael TMO8Y2tl
Subject: Stability of Automic Platform
Dear Community,
are there some mechanism in order to prevent damage on the automic engine?
e.g. prevent infinitive loops, limit the amount of allowed activities, query which identifies objects which are causing more then X RT,AH records etc.
If so, how can this be done?