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:

  1. Open Tools, then Scheduled Processes.

  2. Click Schedule New Process.

  3. 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.

  4. Click OK.

  5. Next, enter the basic option parameters for your batch job. For more information, see Batch Job Types and Settings.

  6. Finally, to schedule your new process, click Advanced, then Schedule.

  7. 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.

  8. 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.

  • Transactions

  • Tiers (Expired)

  • Both (Transactions and Tiers)

  • Points (Expired)

  • Events

  • Point Blocks (for Prepaid Partners)

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:

  • Your database pod size

  • The object type

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.

  1. Open Tools, then Scheduled Processes.

  2. Select the scheduled process you need.

  3. 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.
  4. Complete the fields as necessary.