With the addition of a new `elastixsearch` docker support in https://github.com/pikers/piker/pull/464, adjustments were made to container startup sync logic (particularly the `trio` checkpoint sleep period - which itself is a hack around a sync client api) which caused a regression in upstream startup logic wherein container error logs were not being bubbled up correctly causing a silent failure mode: - `marketstore` container started with corrupt input config - `ahabd` super code timed out on startup phase due to a larger log polling period, skipped processing startup logs from the container, and continued on as though the container was started - history client fails on grpc connection with no clear error on why the connection failed. Here we revert to the old poll period (1ms) to avoid any more silent failures and further extend supervisor control through a configuration override mechanism. To address the underlying design issue, this patch adds support for container-endpoint-callbacks to override supervisor startup configuration parameters via the 2nd value in their returned tuple: the already delivered configuration `dict` value. The current exposed values include: { 'startup_timeout': 1.0, 'startup_query_period': 0.001, 'log_msg_key': 'msg', }, This allows for container specific control over the startup-sync query period (the hack mentioned above) as well as the expected log msg key and of course the startup timeout. |
||
---|---|---|
.. | ||
brokers | ||
clearing | ||
cli | ||
data | ||
fsp | ||
testing | ||
ui | ||
watchlists | ||
__init__.py | ||
_cacheables.py | ||
_daemon.py | ||
_profile.py | ||
calc.py | ||
config.py | ||
log.py | ||
pp.py | ||
trionics.py |