Running the non-accumulated batch job

A single batch run constitutes a set of files (one to many) where each file can have multiple records.

A command-line program allows you to specify the directory where the files are located. The batch run can also be executed as a scheduled task, for example using Windows Task Scheduler, or using cron on Unix-like systems. Be aware of the following:

Note that The command line input only allows specification of an input folder, not an individual file.

  • Categorize your input files into separate directories depending on the type of job. The purpose of separate directories is to segregate a data file that is referenced by a control file into a folder other than the input folder to avoid batch picking the data file up more than once.
  • The batch program does not alter, move, or delete the input files so these files must be managed at your discretion.
  • Unique answer IDs per input file are recommended if you are using the Interactive Data Model. If there is a problem with a particular XML record and there is more than one answer ID in the same input file, you will have to manually determine which of those records with the given answer ID is causing the issue. Note that Answer ID should be an integer type.

Execute the batch program on a machine that has file system access (like via SAN) to the active drive. The machine should also have access to any output directories defined for the batch delivery channels that are expected to be processed.

Note the following:

  • -template, -version, and -deliveryOption are optional provided that they are defined in each group of records inside the NA batch input file.
  • Batch processes all files with an .xml extension name in the directory defined in the -dir option.
  • The na.batch.skip.cleanup system property cleans up all temp files created during NA batch. The default value is true.
  • The default location for NA batch log files is < <Batch bundle installation folder>/logs/na-batch.txt
Command line interface
Script prompt> run-na-batch.bat [options]
Example prompt> run-na-batch.bat -domain e1Domain -template "EngageOne Simple Template" -deliveryOption "ARCHIVE_ONLY" -dir "c:\batch input"}
Java prompt> java -cp .;e1-server-batch.jar;<LIBRARIES> com.pb.engageone.server.batch.na.runner.CommandLineRunner [options]
Example prompt> java -cp .;e1-server-batch.jar;<LIBRARIES> com.pb.engageone.server.batch.na.runner.CommandLineRunner -domain e1Domain -template "EngageOne Simple Template" -deliveryOption "ARCHIVE_ONLY" -dir "c:\batch input"
Options
-help Prints the syntax and usage information for this batch job.
-config Overrides configuration settings using the properties file in the argument. (optional)
-deliveryOption Sets the delivery option name used for this batch. This option is overridden by data from input files. Note that this value is required if not present in the input files.
-dir The directory (absolute path) in which the batch will gather input files. (required).
-domain The community name for the given batch, associated templates and delivery option with this community. (required)
-logfile Overrides the log file name with the argument provided. The default log file name is na-batch.txt. If old batch logging location is used, refer to Log file location for detailed information, the default log file name is log.txt. When the maximum log file size is reached, a new log file is incrementally created, for example na-batch.txt.1, na-batch.txt.2, ... or log.txt, log.txt.1, log.txt.2, ... (optional)
-maxLogFileCount Sets the maximum log file number of log files to keep using the argument provided. The default is 10. (optional)
-maxLogFileSize Sets the maximum log file size of each log file with the argument provided. The default is 10(MB). If you reach the maximum log file size, the server rolls over to a new file and deletes the oldest log file if the maximum log file count has been reached. Using the default settings, that equals a maximum of 10 log files with a maximum of 10MB each. (optional)
-quiet Suppresses writing log output to the console. Can be used in combination with -verbose. (optional)
-template

The template name or the template logical path. Setting the template name or path, sets it for all entries in the batch input files. This option is overridden by data from input files. Where there are multiple templates with the same name, provide the template logical path to ensure the correct template is used. (required if not present in the input files).

Format:

\\<folder1>\\<folder2>

<template name>

Example:

-template "\\mainfolder\\subfolder
EngageOne Template v1.0"
-verbose Writes detailed information to the log. NA batch runs in DEBUG mode when this option is used. If -verbose is not present, NA batch runs in INFO mode. Can be used in combination with -quiet. (optional)
-version The version number of the template in use

Note that the template logical path is the same as the folder hierarchy you see from the template tab of EngageOne Administration, using \\ as the folder separator.

For example, the template selected corresponds to template\\EngageOne Template v1.0 as its template logical path. \\template\\EngageOne Template v1.0 can be used as well.

In a scenario where there are multiple templates with the same name and the template name is used, batch will list all of templates and prompt for the template path.

Running multiple batch programs in parallel

If you want to run multiple batch programs in parallel, test the parallel jobs on the same machine to make sure you have appropriate capacity. Also, make sure that the batch thread size and DCA pool size are adjusted to accommodate the capacity of the CPU, as each batch program will introduce its own threads and DCA pool. See NA batch setup and performance optimizationfor configuration details.

Note that care must be taken when configuring thread and pool sizes so as to avoid composition errors due to high CPU utilization.

Please note that non-accumulated batch is a Java program. Java must be installed on any server where non-accumulated batch is going to be executed.