How to Check When Deadlines Not Executing

Introduction

In Joget, deadlines are crucial for managing process workflows. If deadlines are not executing as expected, it’s essential to understand the checking process and address any potential issues. This guide will help you check and troubleshoot when deadlines are not executing.

How does it work?

When there are 100 pending instances with matured deadlines, Joget checks and processes these instances in batches based on the Process Deadline Checker Interval set in System Settings.

  1. Checking Cycle: If the interval is set to 1 hour, Joget processes the pending instances in batches of 10. After processing all instances, Joget waits for the interval duration before starting the next cycle.
  2. Cycle Time: If the server has many pending processes, the cycle time may extend, causing the next cycle to start later.

A shorter interval, such as 1 second, might increase CPU load and data I/O, potentially impacting server performance. It is advisable to use an interval of 30 seconds or more.

Performance Impact
Setting a very short interval can lead to higher CPU load and data I/O, which may degrade server performance. For better performance, consider using an internal timer of 30 seconds or more.
In Joget DX, you can improve performance by using the Multi Tools Process Tool to run threads concurrently. For any deadline tasks that are not relevant to data integrity, you can wrap those tools used in the deadline within Multi-Tools & select the Run Mode property to Run tools concurrently in multiple threads. This can improve the Joget performance.

Common error when deadlines fail to execute

The process with Id=xxxxxx is closed, and can't be checked for deadlines

This error indicates that the deadline checker attempted to process a process instance that has already been closed. The deadline checker only processes running instances with unexecuted deadlines. Once a process is closed, its deadlines will no longer be checked or executed in future cycles of the checker.

This error is harmless and does not indicate a problem in the system. Closed instances are simply skipped in future checks and unexecuted deadline records in the SHKDEADLINES table will not be checked or executed once the process has been closed.

Related documentation

Download sample app

Download the demo app for Check When Deadlines Not Executing:

More information regarding the app:

The List of Deadlines activated menu will display the lists of pending instances and whether it has been executed or stopped.
The Check menu will display whether the deadline checker thread is running or stopped.

Sample App is developed for MySQL/MariaDB
The App is developed for MySQL/MariaDB. If you use MSSQL, you will have to make necessary changes to the query in the List of Deadlines activated.

If Deadline Checker Thread Stops

If for some reason or other, the deadline checker thread stops, you can:

  • Stop the Joget Apache Tomcat, wait a few seconds, and restart the Joget Apache Tomcat OR
  • restart it by just resubmitting the "General Settings" page.
Created by Julieth Last modified by Aadrian on Dec 13, 2024