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 function or a configuration setting.

In the API

To force the out-of-process server to restart, call the fpRefreshFilterKVOOP() function.

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.

To control whether the parent process attempts to filter a file after the file has caused the server to fail, use the kvoopRetry parameter in the [FilterSDK_Config] section of the formats.ini file:

kvoopRetry=0

When you set kvoopRetry to 0 and the server fails, the parent process does not resend the file to a new server.

kvoopRetry=n

When you set kvoopRetry to n (where n is a positive number) and the server fails, the parent process resends the file to a new server n times. By default, kvoopRetry is set to 1, and the file is resent to a server once.