piker/piker
Tyler Goodlet d3272ede7a Support startup-config overrides to `ahabd` super
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.
2023-03-08 12:56:56 -05:00
..
brokers `flake8` linter cleanup and comment out order ctl draft code 2023-03-03 18:32:24 -05:00
clearing Add sym registry to PaperBoi as well as a sym ref on Transaction 2023-03-01 21:06:48 -03:00
cli Moved database initialization code inside the open_pikerd context manager 2023-02-21 13:34:29 -03:00
data Support startup-config overrides to `ahabd` super 2023-03-08 12:56:56 -05:00
fsp Fix history array name 2023-02-12 13:55:26 -05:00
testing Use constants value for test config dir path 2023-02-25 18:59:39 -05:00
ui Always show a minimum bars during startup 2023-03-07 20:40:21 -05:00
watchlists Add license headers to pertinent files 2020-11-06 12:23:14 -05:00
__init__.py Expose `.open_feed()` and `open_piker_runtime()` eps at top level 2022-11-10 13:06:31 -05:00
_cacheables.py Port to new `tractor.trionics.maybe_open_context()` api 2022-01-23 21:01:38 -05:00
_daemon.py Remove unnesesary arguments to some pikerd functions, fix container init error 2023-02-21 20:45:10 -03:00
_profile.py Make profiler work when nested and not? 2023-02-13 12:27:58 -05:00
calc.py Lul, adhere to returning `str`s in `humanize()` 2022-01-25 07:57:01 -05:00
config.py Fix mayor bug found by fomo, sym info getting stored incorrectly on pps.toml causing it to load pp wrong on second open, also fix header leak bug 2023-03-01 21:06:52 -03:00
log.py Type annot name in put to log routine 2022-06-05 22:13:36 -04:00
pp.py Read `Symbol` tick precision fields when no entry in `.broker_info` 2023-03-08 09:06:50 -05:00
trionics.py Start trionics mod with an `async_enter_all` 2022-01-23 19:41:57 -05:00