Troubleshooting time-based trigger issues

One or more time based triggers didn't fire when expected or is showing a blank "Next run time". What happened, and how to fix it?

Issue Description

Having a time-based trigger misfire or suddenly present a blank "Next run time" can be a challenging event, especially if production has been impacted. But before you make changes to the trigger settings, take a moment to capture a few details before resetting them, as the cause may be over-written with any changes.

With the Orchestrator 2022.10 release a new scheduling service was deployed, which, while more reliable and accurate, relies heavily on database entries that can be easily overwritten, losing the cause of the issue.

Data Gathering

First, gather the Application Event Viewer logs for Orchestrator OR the Zip output file from this Orchestrator Log Gathering (preferred). The script collects the following information:

  • Application logs
  • Security logs
  • System logs
  • CAPI2 logs (for certificate issues)
  • Appsettings.Production.json
  • UiPath.Orchestrator.dll.config
  • IIS logs from the last 7 days
  • Output of the Platform Configuration Tool readiness check
  • Network trace (optional, can be enabled during the script execution)

To use the script, run it as an Administrator on the Orchestrator machine.

  1. During the execution, specify the Orchestrator installation path; press enter to use the default path.
  2. Subsequently, there will be option to initiate a network trace (Note that this can significantly increase the script's runtime).
  3. Reproduce the identifiable issue and once done, press enter to continue.
  4. The script will then gather all the necessary logs, output the results of the Readiness check, and save everything in an archive. This archive should then be sent back to us for further analysis.

Assistance may be required from your database administration team for the next crucial piece of information. Export the output of this SQL query to retrieve essential information about existing triggers.

SELECT A.Id, A.Name, B.ScheduledTime, A.Enabled, A.TenantId, A.StartProcessCron, A.StartProcessCronDetails, A.IsDeleted, A.LastModificationTime, A.CreationTime, A.OrganizationUnitId, A.TotalSuccessful, A.CurrentConsecutiveSuccessful, A.LastSuccessfulTime, A.TotalFailures, A.CurrentConsecutiveFailures, A.LastFailureTime

FROM dbo.ProcessSchedules AS A

LEFT JOIN dbo.RobotJobsBackgroundTasks AS B

ON A.ExternalJobKeyScheduler=B.ScheduleId

Share the logs and SQL script output on the case thread or through the Customer Portal for review. Unless business critical, it is recommended to not update the affected time triggers until an UiPath support engineer directs you to, in order to preserve state information that can be easily lost.