Batch Queues provide the ability to create dedicated queues for background jobs in an application. A batch queue consists of a name, a number of processes to be started for this specific queue, an activation flag and an execution plan. It is of course possible in a system to define several batch queues to be used for different purposes.
Specific background jobs can be directed, by the administrator, to a specific queue to ensure that no heavy server processes prevent other jobs from being processed. This may happen if all background jobs are running through the ‘Default Queue’.
When a job is started the first time, it is connected to the queue ‘Default Queue’ if no other specification is made in the form. This specific job identified by its full method call will then appear in the background job list included in the form. The queue ‘Default Queue’ cannot be removed.
Execution plan controls the execution of the background jobs connected to the Batch Queue. Standard SQL syntax and SQL date-functions are used to set the execution plan.
Example of date functions that can be used:
NEXT_DAY(dte DATE, day VARCHAR2)
Returns the date of the first day of the week named by the parameter day
that is later than date dte.
LAST_DAY(dte DATE)
Returns the date of the last day of the month containing date dte.
SYSDATE
Returns the current system date and time
TRUNC (dte DATE [, fmt VARCHAR2] )
Returns the date dte with a specified syntax according to parameter fmt.
ROUND(dte DATE [, fmt VARCHAR2] )
Returns date dte rounded to the unit specified as parameter fmt.
For more detailed description of the syntax refer to PL/SQL User's Guide and Reference Manual or SQL*Plus documentation.
Example:
sysdate + 30/24*60*60 or sysdate + 30/86400
restart batch queue process every 30 secondsNEXT_DAY(TRUNC(sysdate),’MONDAY’)+1/24
restart batch queue process every Monday at 01:00TRUNC(sysdate) + 32/24
restart batch queue process every day at 08.00sysdate + 1/24
restart batch queue process with one hour interval from nowThere is no syntax check made when the data is saved. A syntax error will instead generate an error at process initiation. The error is a "ORA-23319 - Parameter value 'execution plan' is not appropriate".
Be aware that the execution plan when evaluated must give
a date and time in the future. There are two pitfalls here. First if execution
plan is set to TRUNC(sysdate)+8/24
and the process initiation is done after
08:00 the error "ORA-23319 - Parameter value 'execution plan' is not
appropriate" will show up. If however the process
initiation is done before 08:00 the process will start but sometimes after 08:00
when the process terminates and evaluates the execution plan to set next date
the evaluation will give a date and time already passed and the process will be
hanging with status Working.
Batch Queue Configuration is found in the Configuration folder in IFS Solution Manager.
In the feature there is a tree view where you can see all the configured batch queues. Expand a batch queue to view which backgrounds are handled by that queue. Via right-mouse button pop-up menus you can add, rename or remove background jobs handled by the queue. Additional menu options are Init All Batch Queues and Init Batch Queue.
Standard operations enabled in the toolbar: Save for saving modifications, Create New for creating a new batch queue, and Delete for deleting the currently selected batch queue.
Note: On an Oracle Real Application Cluster setup when a Batch Queue is attached to a Node, that Node needs to be online for the Batch Queue to process jobs.