I have a scheduler process job executes in every 10 mins – (00:10 / 00:20 / 00:30/ 00:40…. 23:50/ 00:00)
In a normal/happy scenario job execution completes within 2 mins. However due to some other unforeseen reasons – few job execution are exceeding the execution time ( ex: beyond 30 mins ).
Issue: Few times job execution time is beyond the scheduler(10 mins) and the scheduler is job creating new jobs and keep it in pending state and later throwing the below alert notification
“#schedule ROBOT NAME - TIME for #process PROCESS_NAME could not create jobs. The robots already have pending jobs for this Process (#XXXX).“
Expected Response: How to identify the current job time is extended the scheduler job time and notify the scheduler job not to create a job till the current job execution completed successfully.
You can give longer waits between the schedule. This way the error doesn’t show up. But, why not just ignore the warning ? I’m sure won’t impact the working of the process…
@Nithin_P - We cannot change the scheduler job - should runs in every 10 mins and in the normal/happy scenario the execution completing with in 2 mins. We are getting the above alert notification only when the execution time exceed/reached beyond the next scheduler job time ( once in 200+ executions).
We can;t ignore the alert because the next scheduler job status will change from pending to faulted.
In any case the limitation is on any given robot 1 Job can be in running state & 3 jobs in Pending state (3 jobs belong to 3 different processes. For a given process only 1 pending job is allowed). When a an additional job is triggered it will just not be added to the execution queue. As of today there is no workaround for this, that’s how it’s built.
@Nithin_P - Yes am aware of this limitation for the job statuses… looking for a workaround to pause/wait the scheduler not to create a job till the current/running job execution.
@GBK Use dynamic allocation instead of specific robot. For specific robot you may have only one pending job and one running. Actually what is the point of having multiple pending jobs for the same robot?
@badita - Yes - sometimes I have more than 10 pending jobs for the same robot with pending status jobs.
Scenario - I have created a scheduler to run a specific robot in every 10 mins.
In general robot perform some actions and wait for the dependent systems success response - robot will wait/repeat the same action till it receive the success response from the dependent system after that it mark complete the operation. This entire process will take below 2 mins.
In few scenarios robot is waiting for the successful response from the dependent system and the wait time is crossing beyond 30/60+ mins. During this time my scheduler initiated jobs in every 10 mins and moved to pending status, after few robot is not accepting the new jobs with provided alert.
Each job is unique and need to run in 10 times(in 00:10, 00:20, 00:30, 00:40, 00:50 … mins intervals )
Scheduler invoke the job in every 10 mins, once robot initiated - robot start invoking other dependent systems with certain API’s and perform few business ruled automation in web/windows apps.
Dependent system will respond back to robot as successful till that time robot will wait/retry.
If each job is unique you should use queue items. Anyway, with dynamic allocation you may set unlimited pending jobs but this is not the best practice.