You can schedule profile and order indexing to occur on a schedule. To ensure that indexing can occur, indexing requests are sent to the IndexAdmin
for lock management, and obtains the IndexLock
from the IndexingOutputConfig
. The IndexingLockManager
obtains exclusive write lock, which prevents other processes from impacting the indexing process.
The scheduling process uses the atg.service.schedule.SingletonSchedulableService
, which works in conjunction with lock managers to guarantee that only one instance of the schedule service is running at any given time. For detailed information on the SingletonSchedulableService
, refer to the Scheduler Services section of the Platform Programming Guide.
By default, scheduling is disabled. To enable scheduling, you must extend the OrderBaselineScheduleConfig
or ProfileBaselineScheduleConfig
files in your /localconfig
directory by:
Adding schedule details as described in the Schedule Settings section of the Platform Programming Guide. Using the
CalendarSchedule
format:schedule=calendar
mos dates wkdays mo-occurs hrs mins
Enabling the scheduling operation.
The following is an example of a ProfileBaselineScheduleConfig
file that is scheduled to run on the last Sunday of every month at 1:00 a.m.
# Profile baseline information/ $class=atg.textsearch.indexing.schedule.IndexingOutputConfigBaselineScheduleImpl $scope=global $description=Schedule information for baseline of Profiles. # SingletonSchedulableService lock manager details. clientLockManager=/atg/dynamo/service/ClientLockManager lockName=ProfileBaselineScedule_LOCK lockTimeOut=2000 scheduler=/atg/dynamo/service/Scheduler jobName=ProfileBaselineSchedule jobDescription=Performs a baseline of Profiles schedule=calendar * . 1 last 1 0 enable=true indexingOutputConfig=\ /atg/userprofiling/textsearch/ProfileOutputConfig