Starting with Tools Release 9.2.2.4, 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

 

  1. Download the Quartz SQL Script
  2. Create the Quartz tables in E1 Database
  3. Configure the rest.ini
  4. 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

Note : For this example , we are using the E1 Setup which is running on Oracle Database, So we will be using the tables_oracle.sql to create the Quartz table in the next step

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

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;

 

-- QUOTAS

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

  • Now synchronize the changes and restart the AIS Server

Important Notes

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 9.2.2.4)

Also refer the document --> E1: AIS: ORCH: Setting up Quartz Scheduler Resilience to be used with Notifications and Orchestrations (TR 9.2.2.4) (Doc ID 2368608.1) & guide --> Configuring Scheduler Resilience (Release 9.2.2.4)
which has the configuration details for SQL Database and DB2 Database Setup