Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Web Service Multithreaded Multithread component is designed to work with the Web Service Multithreaded Multithread Worker to enable parallel processing of requests. These components have two distinct roles:

  • Web Service Multithreaded Multithread is the dispatcher component which listens for requests and sends it to the worker component for parallel processing using component.call.

  • Web Service Multithread Worker component handles the actual processing of the data dispatched by the Web Service Multithreaded Multithread component.

Running the Components:

Expand
titleSTEP 1: Import the Web Service Multithreaded Multithread and Web Service Multithread Worker components

Using +COMPONENT, import two components:

  • Web Service Multithreaded Multithread

  • Web Service Multithread Worker

Expand
titleSTEP 2: Configure the custom fields

The two components are configured to work together by default without configuration required. However, the custom fields can be configured as needed:

Web Service MultithreadedMultithread:

  • WorkerComponent: The target multithreaded worker component

  • Port: The web service port. Change if the default port, 7778, is already in use.

  • UseHTTPS: Set Default is set to true to enable HTTPS. If enabledFor production, you can should configure Iguana to use your preferred own Certificate and PrivateKey files.

Image RemovedImage Added

Web Service Multithread Worker:

  • ServerComponent: The web service component which will dispatch requests to the worker.

  • ThreadCount: Number of processing threads. Can be set as a number from 2 to 100.

For more information on adapting the worker component, see Web Service Multithreaded Multithread Worker.

Expand
titleSTEP 3: Setup a two test source data feed to send requests to the Web Service Multithreaded Multithread component

You can use any mechanism to send HTTP requests to the Web Service Multithreaded Multithread component configured endpoint - default is http://localhost:7778/. If your Iguana instance is running remotely you can use the public IP address.

If you want to use Iguana as the test source system to create a data feed, you can use the following simple setup:

  1. Create a two custom component components named “Source Feed““Source Feed 1“ and “Source Feed 2“

  2. Copy the script below into each of the Translator: component Translator to send an HTTP GET Request to the Web Service Multithread component.

Code Block
languagelua
function main(Data)
   for
i=1, 10 do 
      net.http.get{url="http://127.0.0.1:7778"}
   end 
end
This script will simply loop 10 times, each time sending a HTTP GET request to the Web Service Multithreaded component.
Expand
titleSTEP 4: Start all three the components and view the logs of the Web Service Multithread Worker

First start your Web Service Multithread and Web Service Multithread Worker components. Then use Bulk Actions to start the two Source Feed components at the same time.

Go to the logs of the Web Service Multithread Worker component and view the logged GET requests:

Image Removed

. Notice the ifw_conn_id value added set in the header of the request. This value is used to identify the specific connection or session associated with the request. You should see different connection ids to indicate multiple connection threads being used by your worker.

Image Added