Skip to content

Connectivity service

Pierre Lasorak edited this page Sep 2, 2024 · 4 revisions

Communication

Spawns a WSGI with gunicorn that connects to a web server which contains all the (currently hard coded) port numbers that the spawned applications use to connect to each other. This service is also used by dfo applications to determine the places to which the TC data is stored that is required to complete a TA. It is implemented in gunicorn. It is defined in e.g. test-session.data.xml as an infrastructure application with the following configuration

<obj class="ConnectionService" id="local-connection-server">
 <attr name="application_name" type="string" val="echo"/>
 <attr name="commandline_parameters" type="string">
  <data val="Process PID $$;"/>
  <data val="trap &apos;pkill -INT -P $$&apos; EXIT;"/>
  <data val="gunicorn -b 0.0.0.0:5000 --workers=1 --worker-class=gthread --threads=2 --timeout 5000000000 --log-level=debug connection-service.connection-flask:app"/>
 </attr>
 <attr name="threads" type="u16" val="1"/>
 <rel name="runs_on" class="VirtualHost" id="vlocalhost"/>
 <rel name="exposes_service">
  <ref class="Service" id="local-connectivity-service"/>
 </rel>
</obj>