-
Notifications
You must be signed in to change notification settings - Fork 2
Experimental Database
Dominic Oram edited this page Jun 10, 2019
·
19 revisions
Wiki > The Backend System > System components > Experimental Database
The experimental database keeps track of:
- experiments (
experiment
table) - experiment team members (
experimentteams
table) - users in the team (
user
) - roles in the team (
role
)
The data is populated centrally from the Experiment Database Populator (alternatively named RB number populator) which is run on control-svcs.
The experiment database populator is a Python 3 program that is designed to run centrally and periodically update instrument databases. It does the following:
- Monitors 'CS:INSTLIST' for instruments that are scheduled
- Gathers 200 days worth of data from the web services hosted by business apps (Using the credentials stored in a git repository on the local share).
- Reformats the data slightly to match the structure of the instrument databases
- Pushes to the instrument database (Using the credentials stored in a git repository on the local share).
- Repeats every hour
- The populator has unit tests that are run in jenkins.
- The
DEBUG
flag can be set in the main file to push instrument data to your local experiment database. - A system test is included that will check the data gathered from the website is the same as that on the instruments. This is mainly useful for comparison to the old system.
The populator is installed on the linux server control-svcs. This can be accessed using the credentials in the usual place. The program is installed under /home/epics/RB_number_populator
and is being run as a service called rb_number_populator. Logs for the program are written into /home/epics/RB_number_populator/logs
.