Manage the DFWSVC Process

Overview

One instance of the DFWSVC process runs one real-time data service. The DataFlux Data Management Server tracks both idle and active processes. The server also understands whether any service jobs are loaded and waiting to run. When a request for a real-time data service is received from a client, the server first tries to finds an idle DFWSVC process that has the same job loaded. If one does not exist, then the server looks for a DFWSVC process that does not have any jobs loaded. Finally, if the server does not find a process to reuse, a new process is started, if the configuration allows. This depends on the DMSERVER/SOAP/DATA_SVC/MAX_NUM limit. If a new process would exceed that limit, the process is not started. If the queue is enabled in the DMSERVER/SOAP/DATA_SVC/QUEUE option, then the new process is placed in the queue to wait for execution. If the queue is not enabled, an error message is returned.
When an active DFWSVC process is terminated, the DataFlux Data Management Server records the event in the server log. If an idle DFWSVC process terminates, the server logs the event and starts a new process when another request is received.
The maximum run time for data services is set by the configuration option DMSERVER/SOAP/DATA_SVC/MAX_RUNTIME.

Unload DFWSVC Processes

Follow these steps to unload one or more real-time data service processes:
  1. Open DataFlux Data Management Studio and connect to the DataFlux Data Management Server.
  2. Select the Real-Time Data Services folder in the navigation pane.
  3. Click the Loaded Processes tab.
  4. Select one or more real-time data services.
  5. Click either Unload Process When Idle or Unload Process. Unload Process unloads the process immediately.

Reference for DFWSVC Configuration Options in dmserver.cfg

Use the following configuration options to manage your DFWSVC processes. These options are specified in install-path/etc/dmserver.cfg.
Configuration Option
Description
DMSERVER/SOAP/DATA_SVC/IDLE_TIMEOUT
Specifies the number of seconds to allow a DFWSVC process to remain idle before it is terminated. The default setting is 0 indicating that there is no time-out. Negative values are ignored.
DMSERVER/SOAP/DATA_SVC/QUEUE
Specifies whether to queue real-time data service requests. The value YES indicates that if all DFWSVC process are busy and no new process are allowed to start, then service requests are placed in a queue. The requests are submitted to DFWSVC processes as processes become available. The default value NO returns an error to the requesting client when the preceding conditions apply.
DMSERVER/SOAP/DATA_SVC/MAX_NUM
Specifies the maximum number of real-time data services that the SOAP server is allowed to run simultaneously. The default value is 10. If a new service request would exceed the set limit, and if the request queue is not enabled, then an error message is sent to the requesting client. This option applies to the SOAP server, meaning that the service requests are coming from a SOAP client. It does not apply to the WLP server or requests coming from a WLP client.
DMSERVER/WLP/DATA_SVC/MAX_NUM
Specifies the maximum number of real-time data services that the WLP server is allowed to run simultaneously. The default value is 10. If a new service request exceeds this limit, an error message is returned to the requesting client. This option applies to the WLP server, which processes service requests from WLP clients. This option does not apply to the SOAP server or requests from SOAP clients.
DMSERVER/SOAP/DATA_SVC/JOB_COUNT_MIN
Specifies the minimum number of instances of a given real-time data service that remain loaded. When the number of jobs reaches the minimum limit, the DataFlux Data Management Server halts the unloading of instances of the specified job. The value of this option is of the form min-count:service-file-name.
The option value syntax can include one or more blank-separated instances of count:name-of-service.
Note: A whitespace character (' ') is used as a separator between potentially multiple entries. Therefore, the pathname of the services used in this option cannot contain whitespace characters.
DMSERVER/SOAP/DATA_SVC/JOB_COUNT_MAX
Specifies the maximum number of instances of a given real-time data service job that can be loaded at the same time. When this limit is reached, the DataFlux Data Management Server will not load any more instances of that service job. The value of this option is of the form max-count:service-file-name.
The option value syntax can include one or more blank-separated instances of count:name-of-service.
Note: A whitespace character (' ') is used as a separator between potentially multiple entries. Therefore, the pathname of the services used in this option cannot contain whitespace characters.
DMSERVER/SOAP/DATA_SVC/MAX_ERRS
Specifies the maximum number of service errors that can occur in a DFWSVC process before the process is terminated. The default value is -1, which indicates that there is no process termination due to service errors.
DMSERVER/SOAP/DATA_SVC/MAX_REQUESTS
Specifies the maximum number of service requests that a DFWSVC is allowed to handle before it is terminated. The default value is -1, which indicates that processes are not terminated based on the number of service requests received.
DMSERVER/SOAP/DATA_SVC/MAX_RUNTIME
Specifies the number of seconds to allow a real-time data service to produce output data or an error. If a data service does not produce a response within the specified number of seconds, the server terminates the corresponding DFWSVC process. The server then sends a SOAP fault message to the client. The default value for this option is 0 (zero), which indicates that a real-time data service can run indefinitely. Negative values are ignored. Note that the actual time to terminate the process can differ from the value of this option because fractional values are rounded up. An option value of 1.5 can result in a physical duration of 2 seconds before the service is terminated.

Reference for DFWSVC Configuration Options in service.cfg

Use the following configuration options to manage your DFWSVC processes. These options are provided in the file install-path/etc/service.cfg. When you set these configurations, consider that similar configuration options in the DataFlux Data Management Server’s app.cfg configuration file are also applied. The options in app.cfg are applied first, before the configuration options are applied from service.cfg.
Configuration Option
Description
DATASVC/IGNORE_DECLARED_VARS
The value YES causes DFWSVC to ignore all input and output variables that are declared in the real-time data service. Use this value to run real-time data services that were created prior to DataFlux Data Management Server 2.2. All input macros are passed into the data service and all final macro values are returned to the client along with the output data.
The default value NO causes DFWSVC to allow in only the input variables that are declared on the job. If any other input variables are passed in, the real-time data service terminates and returns an error to the client. Only the output variables declared on the job will be returned along with the output data from the service.
DATASVC/THREAD_STACK_SIZE
This option sets the stack size, in bytes, for each thread of DFWSVC in the UNIX and Linux operating environments. The default value is 1MB. This option is ignored in the Windows operating environment.
DATASVC/MAX_OUTPUT_BYTES
This option controls the maximum amount of data, in bytes, that the DFWSVC process is allowed to return to the SOAP client. The default value is 128MB (134217728 bytes). If the output data exceeds the limit, the real-time data service is terminated. The error message Output data size limit exceeded is logged in the log files of DFWSVC and DataFlux Data Management Server. The SOAP client also receives the error message. A value of 0 or less disables the examination of the output data size.
Note: This option applies only when DFWSVC is invoked by a SOAP client request. The option is ignored when DFWSVC is invoked by a WLP client request.
Last updated: June 16, 2017