Refinery feed handler setup & configuration¶
rfa processes¶
The following TRDFD feed handlers are currently available to use as is or for use in cloning additional venue specific instances.

If a new rfa feed handler instance is required, the easiest method to instantiate it is to clone an existing one with similar attributes. You do this by right-clicking an existing process and selecting "duplicate", which will prompt you to name the new process. It is important to note that the _a/b suffix must be included in all process instances names. The naming convention is used by the platform to identify which process is primary/secondary.
Example:
df_tsf_tr_eq_trdfd_rfavelocity_a
df_tsf_tr_eq_trdfd_rfavelocity_b
df_tsf_tr_eqL2_trdfd_rfavelocity_a
df_tsf_tr_eqL2_trdfd_rfavelocity_b

In the Process Instance Editor only the host variable is needed, but it is recommended to define a Taskset for process binding.
Example:
ENV=df_cxj_tr_eq_trdfd_rfavelocity_a_HOST=
ENV=df_cxj_tr_eq_trdfd_rfavelocity_a_PORT=
ENV=df_cxj_tr_eq_trdfd_rfavelocity_a_TASKSET=
To define the values for these variables, you must modify the delta.instances.profile. Optionally you can configure a static string value for Host, Port, and Taskset directly in the Process Instance Editor rather than modifying the “delta.instances.profile”. It is not necessary to specify a port for the feed handler instances as they are not native q processes:
export df_cxj_tr_eq_trdfd_rfavelocity_a_HOST="c891vkjtrvaxd.int.thomsonreuters.com"
export df_cxj_tr_eq_trdfd_rfavelocity_a_PORT=""
export df_cxj_tr_eq_trdfd_rfavelocity_a_TASKSET="0-3"
Before these new variables can be used, you must first restart Delta Control. You can do this by using the stop/start commands in delta-bin/bin:

After restarting Delta Control, you can check variable assignment by using the following query against the gateway in the IDE:
.utils.checkForEnvVar "ENV=emea_tr_fut_trdfd_rfavelocity_a_HOST="
RFA configs¶
Before running the new feed handler instance/s, you will first need to create the necessary configs:
-
deltacontrol
-
kdbpublisher
-
kdbsubscriber
-
rfa
-
rfaconfig
-
rfasubscription
-
timeval
A config for each of the above should exist with the same name as that of the process name of the new feed handler instance. To create these configs, the easiest method is to duplicate an existing config with similar attributes.
a) deltacontrol

The Delta Control configs contain the login and host details for Delta Control; typically these can remain as seen above.
b) kdbpublisher

In the kdbpublisher config it is important to check the schema-filename has the correct asset class.
| AssetClass | MarketLevel | Schema |
|---|---|---|
| Equity | L1, L2, LL2 | rfavTREqSchema.xml |
| FixedIncome | L1 | rfavTRFiSchema.xml |
| Futures | L1, L2, LL2 | rfavTRFutSchema.xml |
| Forex | L1 | rfavTRFxSchema.xml |
| Indices | L1 | rfavTRIdxSchema.xml |
| MoneyMarkets | L1 | rfavTRMnSchema.xml |
| ListedOptions | L1 | rfavTRLisOptSchema.xml |
c) kdbsubscriber

The kdbsubscriber config contains the tables to subscribe to and the "subscription-channels" are the channels that the feed will publish the tables data on. Ensure that these are correctly configured for the asset class of you feed handler instance.
| Asset class | Market level | subscription-channels |
|---|---|---|
| Equity | L1 | emea_tr_eq |
| Equity | L2 | emea_tr_eql2 |
| Equity | LL2 | emea_tr_eql2legacy |
| Fixed Income | L1 | emea_tr_fi |
| Futures | L1 | emea_tr_fut |
| Futures | L2 | emea_tr_futl2 |
| Futures | LL2 | emea_tr_futl2legacy |
| Forex | L1 | emea_tr_fx |
| Indices | L1 | emea_tr_idx |
| Money Markets | L1 | emea_tr_mn |
| Listed Options | L1 | emea_tr_lisOpt |
d) rfa

You can set the RFA environment variables "RFA_SERVICE_NAME_A and RFA_USER_NAME_A" during installation via the "install.config" and/or added to the ".delta.profile" post install.
Additionally, the service-name, session-name and user-name can be explicitly provided if different values are needed for the trdfd feeds.
In addition to configuring the rfa environment variables, you must also be sure to configure the correct "fieldmap-filename".
| Source | Asset class | Market level | subscription-channels |
|---|---|---|---|
| Elektron | Equity | L1 | eqfieldmap.txt |
| Elektron | Equity | L2 | eqL2fieldmap.txt |
| Elektron | Equity | LL2 | LL2fieldmap.txt |
| Elektron | Fixed Income | L1 | fifieldmap.txt |
| Elektron | Futures | L1 | futfieldmap.txt |
| Elektron | Futures | L2 | futL2fieldmap.txt |
| Elektron | Futures | LL2 | LL2fieldmap.txt |
| Elektron | Forex | L1 | fxfieldmap.txt |
| Elektron | Indices | L1 | idxfieldmap.txt |
| Elektron | Money Markets | L1 | mnL2fieldmap.txt |
| Elektron | Listed Options | L1 | lisOptfieldmap.txt |
| TRDFD | Equity | L1 | eqtrdfdfieldmap.txt |
| TRDFD | Equity | L2 | eqtrdfdL2fieldmap.txt |
| TRDFD | Equity | LL2 | LL2trdfdfieldmap.txt |
| TRDFD | Fixed Income | L1 | fitrdfdfieldmap.txt |
| TRDFD | Futures | L1 | futtrdfdfieldmap.txt |
| TRDFD | Futures | L2 | futtrdfdL2fieldmap.txt |
| TRDFD | Futures | LL2 | LL2trdfdfieldmap.txt |
| TRDFD | Forex | L1 | fxtrdfdfieldmap.txt |
| TRDFD | Indices | L1 | idxtrdfdfieldmap.txt |
| TRDFD | Money Markets | L1 | mntrdfdfieldmap.txt |
e) rfaconfig

This config can be used to override values in the config-filename given in the rfa config (see d) above). If not overridden, the values will be taken from the config-filename listed.
A list of connections can be provided by removing the rsslPort and hostname and instead using \Connections\Connection_RSSL\serverList, example value "host1:14001, host2:14002"
f) rfasubscription

This config contains the list of instruments that the feed subscribes to.
g) timeval

This config can be used to create an offset for the publish time using the format UTC+9, for example.
Workflows¶
Any new feed can now be added to the workflows. Looking at the eq workflow as an example:

The new rfa process can be added by right-clicking on the rdb process and selecting Add New Task, scroll through the process list and select the needed rfa:

This will create a task for the process and add it to the workflow:

Repeat this step for each workflow/rfa that's needed. Once the workflows have been updated and saved, you can then start all
processes by running the START_EMEA workflow.
Checks¶
a) Logfiles
You can check the logfiles for the new feeds in delta-data/DeltaControlData/logdir to ensure that they are starting up and running ok. The logfile should update with stats like below showing the count of messages being sent for each table:

b) getTicks call
You can check that the system is now receiving the data by running a getTicks call for the expected syms on an IDE.