Installing Automated Clients - OCR, Data Capture, Classification, Export, Image processing, E-mail input¶
Start the setup wizard
SmartSoft Invoices Automated Clients.msi and follow the steps.
Choose from the available modules during deployment. Automated clients can be installed on more than one computer in order to scale the system.
Server IP: If you are installing the automatic clients on the same machine as the Application Server, leave the server IP as
127.0.0.1. Otherwise enter the IP of the server.
Port: Type the same port number you have provided during Application Server setup. The default value is
User Name: You can leave the default value
generaluser for the Username and
user for the Password. The system comes with a default user for the automatic clients preconfigured with the necessary permissions.
The automatic clients are installed as Windows services and appear as a single service called SmartSoft Invoices Automated Client Manager. The services run all the time and wait for the server to send batches for processing.
You can later change or fine tune service settings in the config file for each client or in the config file of the Automated Client Manager. Both are located in the clients’ default installation folder
C:\Program Files (x86)\SmartSoft\SmartSoft Invoices Automated Clients\:
|Auto Client Manager||
|Data Capture Client||
|Image Processing Client||
|Email Input Client||
The Automated Client Manager controls the number of CPU cores that each client can use. It also takes precedense over the config files of the other clients when it comes to CPU core control.
<appSettings> <add key="ImageProcessingClientCount" value="-1" /> <add key="OcrClientCount" value="-1" /> <add key="ClassificationClientCount" value="-1" /> <add key="DataCaptureClientCount" value="-1" /> <add key="ExportClientCount" value="-1" /> </appSettings>
The code block above describes the contents of the Automated Client Manager’s config regarding CPU core control. -1 means automatic control and 0 means that the client is off. Users can manually set the number of cores per client, save the changes and restart the service so the changes take effect.
The code block below describes the contents of the separate config files for each client. The only setting that can’t be controlled from here and won’t have effect is the MaxWorkerCount value. Users can set what IP and port to connect to for each separate client: Image processing, OCR, Classify, Data Capture, Export.
<appSettings> <add key="ServerIp" value="127.0.0.1" /> <add key="ServerPort" value="12543" /> <add key="UserName" value="ocruser" /> <add key="Password" value="user" /> <add key="ConnectionRetrySeconds" value="120" /> <add key="MaxWorkerCount" value="-1" /> </appSettings>
Configuring the number of worker clients running on the same machine¶
Each automatic client can parallelize the work for maximum efficiency. To do this a client runs as a Windows service, which spawns worker processes that do the actual processing. For some clients the name of the service and the worker are the same as they reside in the same exe. You can tell them apart by the memory they consume - the service usually consumes less memory than the worker. You can configure the number of worker processes by modifying the value of
MaxWorkerCount in the config file.
MaxWorkerCount = -1, then the number of worker processes is automatically calculated based on the number of logical cores of the CPU:
- worker_processes = cores - 1 (if cores <= 4);
- worker_processes = cores - 2 (if cores > 4);
This makes sense if the OCR client is installed on a dedicated machine. If you have many different clients on one machine it is a good idea to set that number explicitly. Take into account that each OCR worker process uses 1 CPU core.