fermi-ad / acsys-python

Python module to access the Fermilab Control System
MIT License
8 stars 4 forks source link

Missing data at the end of data logger requests #15

Closed beauremus closed 3 years ago

beauremus commented 3 years ago

Adam reports missing data at the end of data logger requests. You can see the result here, https://ad.fnal.gov/ebd/plots.html. The data should meet the end of the plotted range. The script is launch via a cronjob on clxsrv at the top of the hour and the request is formed from the current time using the time package, time.time().

Note that the request, at the time of this posting, for E:TOR860 meets the end of the plot while many of the others are not. This shows that his code works as expected.

acsys version: 0.9.10 Python version: 3.6.8

rneswold commented 3 years ago

The main problem is that

  1. ACNET uses UDP, which is unreliable and
  2. our protocols don't have sequence numbers to detect when a packet is dropped.

We moved the proxy that is used by Python and Javascript to a machine that is topographically closer to the controls network. This means very few, if any, packets are being dropped and the reliability has gone up. Note this means the problem isn't 100% fixed, but has become much more rare.

Issue #20 will solve this problem permanently.