4.6. Soaplab configuration

Soaplab operations provide additional metadata and configuration focused on their usage for long running jobs. These are functions from version 1.1 of Taverna onwards and are accessed from the context menu on any Soaplab operation.

4.6.1. Metadata display

Soaplab services provide metadata describing the service and each input and output. These data can be used to guide the composition of such services, to access this information you can right click on any Soaplab processor in the AME and select the 'Show soaplab metadata' menu option. This will then create a new window containing information about the processor - if there is a Help URL defined this will appear as a hyperlink allowing, for example, the EMBOSS documentation to be browsed directly from within Taverna's workbench.

4.6.2. Polling

Soaplab has the capability to run long running tasks in polling mode. In this mode the task is launched then periodically revisited to determine status - by using this mechanism the enactment engine can avoid problems with timeouts in the target service or in any intervening web proxies or firewalls. If you see errors such as 'Bad gateway' or 'Timeout' when running Soaplab processors this is the first thing to try.

Select the polling properties from the context menu of any Soaplab processor in the workflow:

This brings up a new window:

The 'Polling?' checkbox determines whether the enactor should use polling mode when interacting with the service, by default this is unchecked - if this is the case then Taverna will operate as it did in previous versions. When this box is selected the Interval, Maximum Interval and Backoff options become available and have the following meanings:

  • Interval - This is the delay in milliseconds in between attempts to fetch the status of the task, the lower this is the higher the load on your network (as more requests will be made per second) but the better the latency (how quickly Taverna notices the job's finished).

  • Maximum Interval - The polling interval increases over time (subject to the backoff factor), this allows you to define an absolute ceiling on the interval between polling attempts. By default this is one minute (60000 milliseconds)

  • Backoff - The polling interval is multiplied by this factor each time Taverna polls the service and finds no data ready. This happens until either the maximum interval is reached or the job finishes.

With the 'Polling?' checkbox selected and the default values set Taverna will wait three seconds before polling the service, assuming it finds no data it will wait a further 3.3 (i.e. 3 seconds * 1.1), then a further 3.63 etc. This continues until either the time interval becomes equal to one minute or the service returns some results - if the former occurs first all subsequent polling is at a one minute interval. This backoff factor allows a compromise between reasonable latency for quick running jobs while avoiding large amounts of pointless network traffic for ones running over hours.