Starting with Tools Release 184.108.40.206, the scheduler which is included with the AIS server installation, can now be configured to make the scheduler resilient, where you are able to store the job specifications for scheduled notifications and orchestrations centrally in the database. This blog will help you to understand the E1 AIS Server Scheduler Resilience feature & this blog will help you to enable this feature in your setup.
As notifications and orchestrations are incorporated into critical business processes, the scheduling and execution of those notifications and orchestrations becomes equally critical. The scheduler must be able to tolerate failures, restart with minimum human intervention, and load balance in that if one scheduler instance begins to fall behind, another can pick up the overflow.
- To make the scheduler resilient, you can store the scheduled job properties for notifications and orchestrations centrally in the database.
- This means that if you are running a single instance of the scheduler, the scheduler can restart from a failure and continue processing from the queue of scheduled jobs without an administrator having to resubmit all jobs manually.
Steps to enable Scheduler Resilience
- Download the Quartz SQL Script
- Create the Quartz tables in E1 Database
- Configure the rest.ini
- Start the Scheduler
Step 1 : Download the Quartz SQL Script
We can download the Quartz SQL Script from the website --> http://www.quartz-scheduler.org
- Extract the download using 7 zip and navigate to the below location
Step 2 : Create Quartz tables in E1 Database
Here we are creating the schema "QUARTZ" where we are going to create the Quartz table. You can work with your DBA to create the required schema with the security permission as per your setup.
Example SQL Script
Create User QUARTZ Identified by QUARTZ;
--Create Table Space
CREATE TABLESPACE QUARTZT DATAFILE 'QUARTZT01.dbf' SIZE 20M AUTOEXTEND ON;
CREATE TABLESPACE QUARTZI DATAFILE 'QUARTZI01.dbf' SIZE 20M AUTOEXTEND ON;
-- Alter USER SQL
ALTER USER "QUARTZ" DEFAULT TABLESPACE "QUARTZT" TEMPORARY TABLESPACE "TEMP" ;
-- Assign ROLES SYSTEM PRIVILEGES
Grant JDEUSER to QUARTZ;
Grant JDE_ROLE to QUARTZ;
GRANT CREATE SESSION,CONNECT, RESOURCE TO QUARTZ;
ALTER USER "QUARTZ" QUOTA UNLIMITED ON QUARTZT;
ALTER USER "QUARTZ" QUOTA UNLIMITED ON QUARTZI;
Make sure you are able to login into Database using the QUARTZ user ID and password
Now run the Quartz SQL Script (tables_oracle.sql) by login into the user (QUARTZ) which we created in above step
- Quartz Tables are created successfully
Step 3 : Configure the rest.ini
Using Server Manager Console we can update the rest.ini of the AIS Server.
Access the AIS Instance then navigate to the Configuration --> Miscellaneous Section
- Enter the below information as per your setup. For more information refer the guide --> Configuring Scheduler Resilience (Release 220.127.116.11)
- Now synchronize the changes and restart the AIS Server
The AIS Servers containing the scheduler will access the Quartz runtime database through JDBC. If your AIS Server is deployed to WebLogic and your database is Oracle, the JDBC driver will already have been installed and you can skip this step.
For more information on obtaining, uploading, and installing JDBC drivers, see the Manage JDBC Drivers chapter in the JD Edwards EnterpriseOne Tools Server Manager Guide.
Step 4 : Start the Scheduler
Using Postman or SOAP UI tool , we can start the DV AIS Server Scheduler. It is a good practice to make sure standard scheduler works by unchecking the "Scheduler Resilience" setting in AIS option. If it works, then check the option restart AIS and test.
Rest API End Point : http://AISserver:port/jderest/v2/scheduler/start
You can run the below SQL Query to verify whether AIS Server Scheduled jobs are stored in Database
We have created simple test notification and scheduled to run at every 5 mins. AIS Scheduler successfully executing these jobs at scheduled time.
Now we can have multiple AIS schedulers to do the load balancing or fail over by enabling this feature. For more information refer the guide --> Configuring Scheduler Resilience (Release 18.104.22.168)
Also refer the document --> E1: AIS: ORCH: Setting up Quartz Scheduler Resilience to be used with Notifications and Orchestrations (TR 22.214.171.124) (Doc ID 2368608.1) & guide --> Configuring Scheduler Resilience (Release 126.96.36.199)
which has the configuration details for SQL Database and DB2 Database Setup