Compare commits
No commits in common. "ebdee8fa70d831d8342094da1f069b3eeadcbdd9" and "de786c7afdb0260891cf5a6bdbf96aa580ef909a" have entirely different histories.
ebdee8fa70
...
de786c7afd
|
|
@ -23,7 +23,7 @@ from piker.log import (
|
|||
get_console_log,
|
||||
get_logger,
|
||||
)
|
||||
from .calc import (
|
||||
from piker.calc import (
|
||||
iter_by_dt,
|
||||
)
|
||||
from ._ledger import (
|
||||
|
|
@ -56,14 +56,10 @@ log = get_logger(__name__)
|
|||
# ?TODO, enable console on import
|
||||
# [ ] necessary? or `open_brokerd_dialog()` doing it is sufficient?
|
||||
#
|
||||
# bc might as well enable whenev imported by
|
||||
# other sub-sys code (namely `.clearing`).
|
||||
get_console_log(
|
||||
level='warning',
|
||||
name=__name__,
|
||||
)
|
||||
# get_console_log(
|
||||
# name=__name__,
|
||||
# )
|
||||
|
||||
# TODO, the `as <samename>` style?
|
||||
__all__ = [
|
||||
'Account',
|
||||
'Allocator',
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ from ..clearing._messages import (
|
|||
)
|
||||
from piker.types import Struct
|
||||
from piker.log import (
|
||||
get_console_log,
|
||||
get_logger,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ CLI front end for trades ledger and position tracking management.
|
|||
from __future__ import annotations
|
||||
from pprint import pformat
|
||||
|
||||
|
||||
from rich.console import Console
|
||||
from rich.markdown import Markdown
|
||||
import polars as pl
|
||||
|
|
@ -28,10 +29,7 @@ import tractor
|
|||
import trio
|
||||
import typer
|
||||
|
||||
from piker.log import (
|
||||
get_console_log,
|
||||
get_logger,
|
||||
)
|
||||
from ..log import get_logger
|
||||
from ..service import (
|
||||
open_piker_runtime,
|
||||
)
|
||||
|
|
@ -47,7 +45,6 @@ from .calc import (
|
|||
open_ledger_dfs,
|
||||
)
|
||||
|
||||
log = get_logger(name=__name__)
|
||||
|
||||
ledger = typer.Typer()
|
||||
|
||||
|
|
@ -82,10 +79,7 @@ def sync(
|
|||
"-l",
|
||||
),
|
||||
):
|
||||
log = get_console_log(
|
||||
level=loglevel,
|
||||
name=__name__,
|
||||
)
|
||||
log = get_logger(loglevel)
|
||||
console = Console()
|
||||
|
||||
pair: tuple[str, str]
|
||||
|
|
|
|||
|
|
@ -200,6 +200,7 @@ def broker_init(
|
|||
|
||||
|
||||
async def spawn_brokerd(
|
||||
|
||||
brokername: str,
|
||||
loglevel: str | None = None,
|
||||
|
||||
|
|
@ -207,10 +208,8 @@ async def spawn_brokerd(
|
|||
|
||||
) -> bool:
|
||||
|
||||
log.info(
|
||||
f'Spawning broker-daemon,\n'
|
||||
f'backend: {brokername!r}'
|
||||
)
|
||||
from piker.service._util import log # use service mngr log
|
||||
log.info(f'Spawning {brokername} broker daemon')
|
||||
|
||||
(
|
||||
brokermode,
|
||||
|
|
|
|||
|
|
@ -31,11 +31,8 @@ from contextlib import (
|
|||
import tractor
|
||||
import trio
|
||||
|
||||
from piker.log import (
|
||||
get_console_log,
|
||||
)
|
||||
from ._util import (
|
||||
subsys,
|
||||
get_console_log,
|
||||
)
|
||||
from ._mngr import (
|
||||
Services,
|
||||
|
|
@ -71,7 +68,7 @@ async def open_piker_runtime(
|
|||
# and spawn the service tree distributed per that.
|
||||
start_method: str = 'trio',
|
||||
|
||||
tractor_runtime_overrides: dict|None = None,
|
||||
tractor_runtime_overrides: dict | None = None,
|
||||
**tractor_kwargs,
|
||||
|
||||
) -> tuple[
|
||||
|
|
@ -99,8 +96,7 @@ async def open_piker_runtime(
|
|||
# setting it as the root actor on localhost.
|
||||
registry_addrs = (
|
||||
registry_addrs
|
||||
or
|
||||
[_default_reg_addr]
|
||||
or [_default_reg_addr]
|
||||
)
|
||||
|
||||
if ems := tractor_kwargs.pop('enable_modules', None):
|
||||
|
|
@ -275,7 +271,6 @@ async def maybe_open_pikerd(
|
|||
'''
|
||||
if loglevel:
|
||||
get_console_log(
|
||||
name=subsys,
|
||||
level=loglevel
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -49,15 +49,13 @@ from requests.exceptions import (
|
|||
ReadTimeout,
|
||||
)
|
||||
|
||||
from piker.log import (
|
||||
get_console_log,
|
||||
get_logger,
|
||||
)
|
||||
from ._mngr import Services
|
||||
from ._util import (
|
||||
log, # sub-sys logger
|
||||
get_console_log,
|
||||
)
|
||||
from .. import config
|
||||
|
||||
log = get_logger(name=__name__)
|
||||
|
||||
|
||||
class DockerNotStarted(Exception):
|
||||
'Prolly you dint start da daemon bruh'
|
||||
|
|
@ -338,16 +336,13 @@ class Container:
|
|||
async def open_ahabd(
|
||||
ctx: tractor.Context,
|
||||
endpoint: str, # ns-pointer str-msg-type
|
||||
loglevel: str = 'cancel',
|
||||
loglevel: str | None = None,
|
||||
|
||||
**ep_kwargs,
|
||||
|
||||
) -> None:
|
||||
|
||||
log = get_console_log(
|
||||
level=loglevel,
|
||||
name='piker.service',
|
||||
)
|
||||
log = get_console_log(loglevel or 'cancel')
|
||||
|
||||
async with open_docker() as client:
|
||||
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ log = get_logger(name=__name__)
|
|||
|
||||
@acm
|
||||
async def maybe_spawn_daemon(
|
||||
|
||||
service_name: str,
|
||||
service_task_target: Callable,
|
||||
|
||||
|
|
@ -68,12 +69,10 @@ async def maybe_spawn_daemon(
|
|||
clients.
|
||||
|
||||
'''
|
||||
log = get_console_log(
|
||||
get_console_log(
|
||||
level=loglevel,
|
||||
name=__name__,
|
||||
)
|
||||
assert log.name == 'piker.service'
|
||||
|
||||
# serialize access to this section to avoid
|
||||
# 2 or more tasks racing to create a daemon
|
||||
lock = Services.locks[service_name]
|
||||
|
|
@ -160,7 +159,8 @@ async def maybe_spawn_daemon(
|
|||
|
||||
|
||||
async def spawn_emsd(
|
||||
loglevel: str|None = None,
|
||||
|
||||
loglevel: str | None = None,
|
||||
**extra_tractor_kwargs
|
||||
|
||||
) -> bool:
|
||||
|
|
@ -197,8 +197,9 @@ async def spawn_emsd(
|
|||
|
||||
@acm
|
||||
async def maybe_open_emsd(
|
||||
|
||||
brokername: str,
|
||||
loglevel: str|None = None,
|
||||
loglevel: str | None = None,
|
||||
|
||||
**pikerd_kwargs,
|
||||
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@ from tractor import (
|
|||
Portal,
|
||||
)
|
||||
|
||||
from piker.log import get_logger
|
||||
|
||||
log = get_logger(name=__name__)
|
||||
from ._util import (
|
||||
log, # sub-sys logger
|
||||
)
|
||||
|
||||
|
||||
# TODO: we need remote wrapping and a general soln:
|
||||
|
|
|
|||
|
|
@ -27,29 +27,15 @@ from typing import (
|
|||
)
|
||||
|
||||
import tractor
|
||||
from tractor import (
|
||||
msg,
|
||||
Actor,
|
||||
Portal,
|
||||
from tractor import Portal
|
||||
|
||||
from ._util import (
|
||||
log, # sub-sys logger
|
||||
)
|
||||
|
||||
from piker.log import get_logger
|
||||
|
||||
log = get_logger(name=__name__)
|
||||
|
||||
# TODO? default path-space for UDS registry?
|
||||
# [ ] needs to be Xplatform tho!
|
||||
# _default_registry_path: Path = (
|
||||
# Path(os.environ['XDG_RUNTIME_DIR'])
|
||||
# /'piker'
|
||||
# )
|
||||
|
||||
_default_registry_host: str = '127.0.0.1'
|
||||
_default_registry_port: int = 6116
|
||||
_default_reg_addr: tuple[
|
||||
str,
|
||||
int, # |str TODO, once we support UDS, see above.
|
||||
] = (
|
||||
_default_reg_addr: tuple[str, int] = (
|
||||
_default_registry_host,
|
||||
_default_registry_port,
|
||||
)
|
||||
|
|
@ -89,22 +75,16 @@ async def open_registry(
|
|||
|
||||
'''
|
||||
global _tractor_kwargs
|
||||
actor: Actor = tractor.current_actor()
|
||||
aid: msg.Aid = actor.aid
|
||||
uid: tuple[str, str] = aid.uid
|
||||
preset_reg_addrs: list[
|
||||
tuple[str, int]
|
||||
] = Registry.addrs
|
||||
actor = tractor.current_actor()
|
||||
uid = actor.uid
|
||||
preset_reg_addrs: list[tuple[str, int]] = Registry.addrs
|
||||
if (
|
||||
preset_reg_addrs
|
||||
and
|
||||
addrs
|
||||
and addrs
|
||||
):
|
||||
if preset_reg_addrs != addrs:
|
||||
# if any(addr in preset_reg_addrs for addr in addrs):
|
||||
diff: set[
|
||||
tuple[str, int]
|
||||
] = set(preset_reg_addrs) - set(addrs)
|
||||
diff: set[tuple[str, int]] = set(preset_reg_addrs) - set(addrs)
|
||||
if diff:
|
||||
log.warning(
|
||||
f'`{uid}` requested only subset of registrars: {addrs}\n'
|
||||
|
|
@ -118,6 +98,7 @@ async def open_registry(
|
|||
)
|
||||
|
||||
was_set: bool = False
|
||||
|
||||
if (
|
||||
not tractor.is_root_process()
|
||||
and
|
||||
|
|
@ -134,23 +115,16 @@ async def open_registry(
|
|||
f"`{uid}` registry should already exist but doesn't?"
|
||||
)
|
||||
|
||||
if not Registry.addrs:
|
||||
if (
|
||||
not Registry.addrs
|
||||
):
|
||||
was_set = True
|
||||
Registry.addrs = (
|
||||
addrs
|
||||
or
|
||||
[_default_reg_addr]
|
||||
)
|
||||
Registry.addrs = addrs or [_default_reg_addr]
|
||||
|
||||
# NOTE: only spot this seems currently used is inside
|
||||
# `.ui._exec` which is the (eventual qtloops) bootstrapping
|
||||
# with guest mode.
|
||||
reg_addrs: list[tuple[str, str|int]] = Registry.addrs
|
||||
# !TODO, a struct-API to stringently allow this only in special
|
||||
# cases?
|
||||
# -> better would be to have some way to (atomically) rewrite
|
||||
# and entire `RuntimeVars`?? ideas welcome obvi..
|
||||
_tractor_kwargs['registry_addrs'] = reg_addrs
|
||||
_tractor_kwargs['registry_addrs'] = Registry.addrs
|
||||
|
||||
try:
|
||||
yield Registry.addrs
|
||||
|
|
@ -175,7 +149,7 @@ async def find_service(
|
|||
| None
|
||||
):
|
||||
# try:
|
||||
reg_addrs: list[tuple[str, int|str]]
|
||||
reg_addrs: list[tuple[str, int]]
|
||||
async with open_registry(
|
||||
addrs=(
|
||||
registry_addrs
|
||||
|
|
@ -198,13 +172,15 @@ async def find_service(
|
|||
only_first=first_only, # if set only returns single ref
|
||||
) as maybe_portals:
|
||||
if not maybe_portals:
|
||||
log.info(
|
||||
# log.info(
|
||||
print(
|
||||
f'Could NOT find service {service_name!r} -> {maybe_portals!r}'
|
||||
)
|
||||
yield None
|
||||
return
|
||||
|
||||
log.info(
|
||||
# log.info(
|
||||
print(
|
||||
f'Found service {service_name!r} -> {maybe_portals}'
|
||||
)
|
||||
yield maybe_portals
|
||||
|
|
@ -219,7 +195,8 @@ async def find_service(
|
|||
|
||||
async def check_for_service(
|
||||
service_name: str,
|
||||
) -> None|tuple[str, int]:
|
||||
|
||||
) -> None | tuple[str, int]:
|
||||
'''
|
||||
Service daemon "liveness" predicate.
|
||||
|
||||
|
|
|
|||
|
|
@ -14,12 +14,20 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
"""
|
||||
Sub-sys module commons (if any ?? Bp).
|
||||
Sub-sys module commons.
|
||||
|
||||
"""
|
||||
from functools import partial
|
||||
|
||||
from ..log import (
|
||||
get_logger,
|
||||
get_console_log,
|
||||
)
|
||||
subsys: str = 'piker.service'
|
||||
|
||||
# ?TODO, if we were going to keep a `get_console_log()` in here to be
|
||||
# invoked at `import`-time, how do we dynamically hand in the
|
||||
# `level=` value? seems too early in the runtime to be injected
|
||||
# right?
|
||||
log = get_logger(subsys)
|
||||
|
||||
get_console_log = partial(
|
||||
get_console_log,
|
||||
name=subsys,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
from __future__ import annotations
|
||||
from contextlib import asynccontextmanager as acm
|
||||
from pprint import pformat
|
||||
from typing import (
|
||||
Any,
|
||||
TYPE_CHECKING,
|
||||
|
|
@ -27,17 +26,12 @@ import asks
|
|||
if TYPE_CHECKING:
|
||||
import docker
|
||||
from ._ahab import DockerContainer
|
||||
from . import (
|
||||
Services,
|
||||
)
|
||||
|
||||
from piker.log import (
|
||||
from ._util import log # sub-sys logger
|
||||
from ._util import (
|
||||
get_console_log,
|
||||
get_logger,
|
||||
)
|
||||
|
||||
log = get_logger(name=__name__)
|
||||
|
||||
|
||||
# container level config
|
||||
_config = {
|
||||
|
|
@ -73,10 +67,7 @@ def start_elasticsearch(
|
|||
elastic
|
||||
|
||||
'''
|
||||
get_console_log(
|
||||
level='info',
|
||||
name=__name__,
|
||||
)
|
||||
get_console_log('info', name=__name__)
|
||||
|
||||
dcntr: DockerContainer = client.containers.run(
|
||||
'piker:elastic',
|
||||
|
|
|
|||
|
|
@ -52,18 +52,17 @@ import pendulum
|
|||
# TODO: import this for specific error set expected by mkts client
|
||||
# import purerpc
|
||||
|
||||
from piker.data.feed import maybe_open_feed
|
||||
from ..data.feed import maybe_open_feed
|
||||
from . import Services
|
||||
from piker.log import (
|
||||
from ._util import (
|
||||
log, # sub-sys logger
|
||||
get_console_log,
|
||||
get_logger,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
import docker
|
||||
from ._ahab import DockerContainer
|
||||
|
||||
log = get_logger(name=__name__)
|
||||
|
||||
|
||||
# ahabd-supervisor and container level config
|
||||
|
|
|
|||
Loading…
Reference in New Issue