The purpose of the Deadline Checker is to control the timestamp of Deadlines (GeneXus versions 9.0 or earlier) or Timers (GeneXus X version or later).
The Deadline Scheduler is also used for this purpose but it executes once every certain amount of time as explained below.
So in order to reflect the changes made with the Timer Intermediate Events, the Deadline Checker must run to check when the timer events must take place (check if the deadlines have been met). To execute it you must do the following:
Execute the file apwfdeadlinescheduler.exe from a command line (Start - Run - cmd), specifing the time (time unit: seconds) between runs, for example:
C:\Models\<KB>\CSharpModel\Web\bin> apwfdeadlinescheduler.exe 60
Or you can execute from the directory (<KB>\CSharpModel\Web\bin) the apwfdeadlinechecker.exe that executes once.
Execute the following command from a command line (Start - Run - cmd), specifing the time (time unit: seconds) between runs:
java -cp "classpath" com.gxflow.apwfdeadlinescheduler 60
Or as follows to execute it just once:
java -cp "classpath" com.gxflow.apwfdeadlinechecker
..\<application>\WEB-INF\classes>java -cp ".;..\lib\*" com.gxflow.apwfdeadlinechecker
..\<application>\WEB-INF\classes>java -cp ".;..\lib\*" com.gxflow.apwfdeadlinescheduler 60
java -cp ".:..\lib\*" com.gxflow.apwfdeadlinechecker 60
In case that GAM is enabled in the KB, consider the following:
- The location.gam and the application.gam files have to be located in the directory where the command is executed - in this example, in the "classes" directory.
Note that apwfdeadlinescheduler calls once every certain amount of time the apwfdeadlinechecker which actually checks for the deadlines and executes the corresponding events.
The apwfdeadlinescheduler is especially useful when prototyping, but in production environments the apwfdeadlinechecker is the one recommended to be used. It's highly recommended to run the apwfdeadlinechecker using a task scheduler and not the apwfdeadlinescheduler.
For more information about how to schedule a task please see: