Persist the Child Process

In out-of-process filtering, the parent process maintains a persistent connection with the child server after each file is filtered. While the connection is preserved in this way, subsequent filtering requests are processed more quickly because the server is already prepared to receive data.

You can restart the server at regular intervals by using a configuration setting.

In the formats.ini File

To control whether Filter persists the server, use the kvoopRefresh parameter in the [FilterSDK_Config] section of the formats.ini file:

kvoopRefresh=0

When you set kvoopRefresh to 0 (zero), the connection to the server persists for as long as the parent process is running or until the server fails. This is the default when kvoopRefresh is not specified in formats.ini.

kvoopRefresh=n

When you set kvoopRefresh to n (where n is a positive number), the connection persists for n filter requests. After the nth request, the server is shut down and restarted before processing the next request.

For example, if you set kvoopRefresh to 5, the connection to the server persists for five filter requests. For the sixth request, the server is shut down and restarted.

When processing a file and an error or timeout occurs, the default out-of-process method does not attempt to process the file again because in most cases this only causes the same error or timeout. This behavior is not configurable. With the legacy out-of-process method, File Content Extraction attempts to process the file one more time, but you can configure the number of retry attempts by setting the kvoopRetry parameter in the [FilterSDK_Config] section of the formats.ini file.

kvoopRetry=0 The parent process does not resend the file to a new server.
kvoopRetry=n The parent process resends the file to a new server n times (where n is a positive number, default 1).