8Manage Batch Processing
This chapter contains the following:
Overview of Batch Processing
Let's look at what batch jobs process which objects in Oracle Loyalty.
| Object | Batch Job | Description |
|---|---|---|
|
Transactions |
Loyalty Batch Engine Main Job |
To process transactions with Queued status, including transactions set to Queued status by either the Oracle Loyalty application (automatically or manually) or the API. |
|
Tiers |
Loyalty Batch Engine Main Job |
To check tier setups for the tier end (expiration) dates. Once a tier reaches its end date (as compared to the system date), the Oracle Loyalty batch engine performs a tier downgrade or tier requalify for all members in that tier. Note: Tier upgrades occur in real time, and aren't part
of batch processing.
|
|
Both Tiers and Transactions |
Loyalty Batch Engine Main Job |
To process both transactions and tier records in the same job. |
|
Points |
Batch Engine Point Expiry Main Job |
To check program members for point expiration dates. Once points reach their end dates, Oracle Loyalty expires any unused points, reducing the member's point balance. The expiration basis is set when the point type is defined in the loyalty program. Note: Qualifying points don't expire.
|
|
Events |
Loyalty Event-Driven Rewards Main Job |
To generate event transactions. |
|
Point Blocks for Prepaid Partners |
Loyalty Partner Debit Main Job |
To debit point blocks when members accrue points from transactions with prepaid partners. |
|
Members and Transactions |
Delete Loyalty Members and Transactions Main Job |
To delete members and related transactional data. |
To split the load impact, you can define and schedule multiple jobs to process individual objects. You can schedule processes to run immediately, at a scheduled time, or on a regular basis at a set time.
Batch Job Types and Settings
You can set up Oracle Loyalty batch jobs to schedule regular processes and to run other tasks as you need to.
This table summarizes the batch jobs you use in Oracle Loyalty.
| Oracle Loyalty Job Name | Description | Basic Parameters |
|---|---|---|
|
Loyalty Batch Engine Main Job |
Processes queued transactions and checks tier setups for tier expiration dates. |
Object Type Number of Sub Jobs Database Fetch Size Number of Database Fetches |
|
Loyalty Batch Engine Point Expiry |
Checks members for expired points and reduces their point balance accordingly. |
None |
|
Loyalty Event Driven Rewards Main Job |
Creates event-driven reward transactions. |
Number of Sub Jobs Database Fetch Size |
|
Loyalty Partner Debit Main Job |
Consolidates and debits points from the partners' point blocks. |
None |
|
Delete Loyalty Members and Transactions Main Job |
Deletes all member and related transactional data for the creation date range. |
From Date To Date |
|
Loyalty Point Aggregation Job |
Populates the point aggregation table. |
None |
|
Loyalty Point Aggregation Reset Job |
Cleans up, initializes, and repopulates the point aggregation tables. |
None |
|
Loyalty Bulk Membership Administration Operations |
Updates a set of members in the uploaded file with a particular action. |
Attribute1 |
|
Loyalty Bulk Membership Administration Operations: Subprocess |
A subprocess of the Loyalty Bulk Membership Administration Operations job. |
Attribute1 Attribute2 Attribute3 |
Create a Batch Process
Use Oracle Loyalty batch processes to schedule your background activities. You define how and when they're processed.
You schedule batch jobs to process:
-
Queued transactions
-
Expired tiers
-
Expired points
-
Event-driven rewards
-
Point block debits for prepaid partners
-
A range of members and transactions you want to purge
Let's see how you can create new Oracle Loyalty batch processes:
-
Open Tools, then Scheduled Processes.
-
Click Schedule New Process.
-
Use the menu to locate and select the job you need for your object type.
Here are some of the loyalty objects and the batch jobs you can use with them.
-
Transactions and tiers: Select the Loyalty Batch Engine Main Job. In the Parameter section, select one of the following object types: Transactions, Tiers, or Both.
-
Batch points: Select the Loyalty Batch Engine Point Expiry Main Job.
-
Events: Select the Loyalty Event Driven Rewards Job.
-
Point blocks for prepaid partners: Select the Loyalty Partner Debit Main Job.
-
Members and transactions to purge: Select the Delete Loyalty Members and Transactions Main Job.
-
-
Click OK.
-
Next, enter the basic option parameters for your batch job. For more information, see Batch Job Types and Settings.
-
Finally, to schedule your new process, click Advanced, then Schedule.
-
Here you have some options for your scheduled batch job:
-
To run the process immediately, select As Soon As Possible.
-
To define a schedule for the process, select Using a Schedule, then select your frequency or date range.
-
To set up notifications for the process, click Notification, then add the notification recipients.
-
-
Click Submit.
When you submit a main batch job, this creates a set of sub-jobs, which in turn are processed. You can view the log associated with a sub-job both during and after the sub-job is complete. Click Refresh to review the sub-job progress. The main batch job remains paused until all sub-jobs are complete.
Basic Parameters for Batch Jobs
Some Oracle Loyalty batch jobs require you to set basic parameters when you schedule the job.
Let's look at those parameters and what they do.
| Basic Parameter | Description |
|---|---|
|
Object Type |
The type of object to process.
|
|
Number of Sub Jobs |
The number of parallel processes the job can spawn. Enter a multiple of 15 that's based on the number of ESS servers in the cluster. For example if you have one server, enter 15. If you have two servers, enter 30, and so on. A multiple greater than 15 may not always give optimal performance if the number of ESS servers isn't increased proportionally. |
|
Database Fetch Size |
The maximum number of objects the job can retrieve from the database in a given fetch. The fetch size depends on:
|
|
Number of Database Fetches |
The number of times the job queries the database in a given run. Ideally, you want to enter batch parameters where the number of objects to process equals the database fetch size times the number of fetches. For example, if you have 1,500,000 objects to process, and you set the database fetch size to 150,000 and the number of database fetches to 10, then the job processes all the objects (150,000 x 10 = 1,500,000). If you have 1,500,100 objects to process, then the job would result in 100 unprocessed objects. These objects would get picked up the next time the job runs. |
|
From Date |
The earliest date in a range, used in conjunction with the To Date parameter. |
|
To Date |
The latest date in a range, used in conjunction with the From Date parameter. |
Scheduling Frequency
You can schedule batch processes to run at the following times:
-
Once, immediately upon submitting the job.
-
Once, at a scheduled time.
-
On a repeating schedule, such as daily at a particular time.
-
In parallel, scheduling jobs to run at the same time.
Manage Batch Processes
Let's see how you manage your Oracle Loyalty batch processes using the Tools interface.
-
Open Tools, then Scheduled Processes.
-
Select the scheduled process you need.
-
Here are some ways you can update your process:
-
Schedule New Process
-
Resubmit (With or without changes)
-
Put on Hold
-
Cancel Process
-
Release Process
-
View Log
Note: Depending on the status of your process, you won't be able to select some of these options. For example, if you want to update a process that's in Succeeded status, then you can't select Cancel Process or Release Process. -
-
Complete the fields as necessary.