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