mirror of
https://github.com/ivan-usov-org/bec.git
synced 2025-04-22 02:20:02 +02:00
fix: clean all imports from bec_lib, remove use of @threadlocked
This commit is contained in:
parent
649502e364
commit
8a017ef3d7
@ -5,9 +5,9 @@ import numpy as np # not needed but always nice to have
|
||||
|
||||
from bec_ipython_client.main import BECIPythonClient as _BECIPythonClient
|
||||
from bec_ipython_client.main import main_dict as _main_dict
|
||||
from bec_lib import RedisConnector as _RedisConnector
|
||||
from bec_lib import bec_logger as _bec_logger
|
||||
from bec_lib import plugin_helper
|
||||
from bec_lib.logger import bec_logger as _bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector as _RedisConnector
|
||||
|
||||
try:
|
||||
from bec_widgets.cli.client import BECDockArea as _BECDockArea
|
||||
|
@ -5,8 +5,8 @@ import time
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from bec_ipython_client.callbacks.scan_progress import LiveUpdatesScanProgress
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.bec_errors import ScanInterruption
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .live_table import LiveUpdatesTable
|
||||
from .move_device import LiveUpdatesReadbackProgressbar
|
||||
|
@ -6,11 +6,12 @@ from typing import TYPE_CHECKING
|
||||
|
||||
from bec_ipython_client.prettytable import PrettyTable
|
||||
from bec_ipython_client.progressbar import ScanProgressBar
|
||||
from bec_lib import bec_logger, messages
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .utils import LiveUpdatesBase, check_alarms
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib import messages
|
||||
from bec_lib.client import BECClient
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -6,7 +6,9 @@ from typing import TYPE_CHECKING
|
||||
import numpy as np
|
||||
|
||||
from bec_ipython_client.progressbar import DeviceProgressBar
|
||||
from bec_lib import DeviceManagerBase, MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
|
||||
from .utils import LiveUpdatesBase, check_alarms
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
import time
|
||||
|
||||
from bec_ipython_client.progressbar import ScanProgressBar
|
||||
from bec_lib import MessageEndpoints, bec_logger
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .live_table import LiveUpdatesTable
|
||||
|
||||
|
@ -7,10 +7,11 @@ import traceback
|
||||
from collections.abc import Callable
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from bec_lib import bec_logger, messages
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.request_items import RequestItem
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib import messages
|
||||
from bec_lib.client import BECClient
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -12,11 +12,13 @@ from bec_ipython_client.beamline_mixin import BeamlineMixin
|
||||
from bec_ipython_client.bec_magics import BECMagics
|
||||
from bec_ipython_client.callbacks.ipython_live_updates import IPythonLiveUpdates
|
||||
from bec_ipython_client.signals import ScanInterruption, SigintHandler
|
||||
from bec_lib import ServiceConfig, bec_logger, plugin_helper
|
||||
from bec_lib import plugin_helper
|
||||
from bec_lib.alarm_handler import AlarmBase
|
||||
from bec_lib.callback_handler import EventType
|
||||
from bec_lib.client import BECClient
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -6,7 +6,7 @@ import numpy as np
|
||||
import rich.progress
|
||||
from rich.text import Text
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
from bec_ipython_client import BECIPythonClient
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
bec_logger.level = bec_logger.LOGLEVEL.SUCCESS
|
||||
|
@ -6,7 +6,8 @@ import IPython
|
||||
import pytest
|
||||
|
||||
from bec_ipython_client import BECIPythonClient, main
|
||||
from bec_lib import RedisConnector, ServiceConfig
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
|
||||
|
||||
def test_bec_entry_point_globals_and_post_startup(tmpdir): # , capfd):
|
||||
|
@ -7,7 +7,8 @@ from bec_ipython_client.callbacks.move_device import (
|
||||
LiveUpdatesReadbackProgressbar,
|
||||
ReadbackDataMixin,
|
||||
)
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
# overwrite threads_check fixture from bec_lib,
|
||||
# to have it in autouse
|
||||
|
@ -8,9 +8,11 @@ import numpy as np
|
||||
import pytest
|
||||
|
||||
from bec_ipython_client.callbacks.utils import ScanRequestError
|
||||
from bec_lib import MessageEndpoints, bec_logger, configs
|
||||
from bec_lib import configs
|
||||
from bec_lib.alarm_handler import AlarmBase
|
||||
from bec_lib.bec_errors import ScanAbortion, ScanInterruption
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -4,8 +4,9 @@ import numpy as np
|
||||
import pytest
|
||||
import yaml
|
||||
|
||||
from bec_lib import DeviceConfigError, bec_logger
|
||||
from bec_lib.alarm_handler import AlarmBase
|
||||
from bec_lib.devicemanager import DeviceConfigError
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -17,7 +17,7 @@ The documentation is part of the BEC documentation and can be found [here](https
|
||||
## Usage
|
||||
|
||||
```python
|
||||
from bec_lib import BECClient
|
||||
from bec_lib.client import BECClient
|
||||
|
||||
# Create a new BECClient instance and start it
|
||||
bec = BECClient()
|
||||
|
@ -1,13 +1 @@
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.channel_monitor import channel_monitor_launch, log_monitor_launch
|
||||
from bec_lib.client import BECClient
|
||||
from bec_lib.config_helper import ConfigHelper
|
||||
from bec_lib.device import DeviceBase, DeviceStatus, Status
|
||||
from bec_lib.devicemanager import DeviceConfigError, DeviceContainer, DeviceManagerBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.utils import threadlocked
|
||||
|
@ -15,15 +15,15 @@ from typing import TYPE_CHECKING
|
||||
import yaml
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_errors import DeviceConfigError, ServiceConfigError
|
||||
from bec_lib.bec_yaml_loader import yaml_load
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.file_utils import DeviceConfigWriter
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import DeviceConfigMessage, RequestResponseMessage
|
||||
from bec_lib.messages import DeviceConfigMessage
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib.messages import RequestResponseMessage, ServiceResponseMessage
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
|
||||
logger = bec_logger.logger
|
||||
@ -166,7 +166,7 @@ class ConfigHelper:
|
||||
# wait for the device server and scan server to acknowledge the config change
|
||||
self.wait_for_service_response(RID)
|
||||
|
||||
def wait_for_service_response(self, RID: str, timeout=10) -> messages.ServiceResponseMessage:
|
||||
def wait_for_service_response(self, RID: str, timeout=10) -> ServiceResponseMessage:
|
||||
"""
|
||||
wait for service response
|
||||
|
||||
|
@ -12,16 +12,16 @@ from rich.console import Console
|
||||
from rich.table import Table
|
||||
from typeguard import typechecked
|
||||
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_errors import DeviceConfigError
|
||||
from bec_lib.config_helper import ConfigHelper
|
||||
from bec_lib.device import ComputedSignal, Device, DeviceBase, Positioner, ReadoutPriority, Signal
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import BECStatus, DeviceConfigMessage, DeviceInfoMessage
|
||||
from bec_lib.messages import BECStatus, ServiceResponseMessage
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib import BECService
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.messages import DeviceConfigMessage, DeviceInfoMessage
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
@ -470,7 +470,7 @@ class DeviceManagerBase:
|
||||
return
|
||||
self.connector.lpush(
|
||||
MessageEndpoints.service_response(msg.metadata["RID"]),
|
||||
messages.ServiceResponseMessage(
|
||||
ServiceResponseMessage(
|
||||
# pylint: disable=no-member
|
||||
response={"accepted": True, "service": self._service._service_name}
|
||||
),
|
||||
@ -545,7 +545,7 @@ class DeviceManagerBase:
|
||||
return []
|
||||
return devices.content["resource"]
|
||||
|
||||
def _add_device(self, dev: dict, msg: messages.DeviceInfoMessage):
|
||||
def _add_device(self, dev: dict, msg: DeviceInfoMessage):
|
||||
name = msg.content["device"]
|
||||
info = msg.content["info"]
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
Endpoints for communication within the BEC.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
# pylint: disable=too-many-public-methods
|
||||
import enum
|
||||
from dataclasses import dataclass
|
||||
|
@ -1,3 +1,5 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import enum
|
||||
import time
|
||||
import warnings
|
||||
|
@ -12,7 +12,6 @@ from typing import TYPE_CHECKING
|
||||
from bec_lib import messages
|
||||
from bec_lib.callback_handler import CallbackHandler
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.utils import threadlocked
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
@ -134,54 +133,54 @@ class RequestStorage:
|
||||
self._lock = threading.RLock()
|
||||
self.scan_manager = scan_manager
|
||||
|
||||
@threadlocked
|
||||
def find_request_by_ID(self, requestID: str) -> RequestItem | None:
|
||||
"""find a request item based on its requestID"""
|
||||
for request in self.storage:
|
||||
if request.requestID == requestID:
|
||||
return request
|
||||
return None
|
||||
with self._lock:
|
||||
for request in self.storage:
|
||||
if request.requestID == requestID:
|
||||
return request
|
||||
return None
|
||||
|
||||
@threadlocked
|
||||
def update_with_response(self, response_msg: messages.RequestResponseMessage) -> None:
|
||||
"""create or update request item based on a new RequestResponseMessage"""
|
||||
request_item = self.find_request_by_ID(response_msg.metadata.get("RID"))
|
||||
if request_item:
|
||||
request_item.update_with_response(response_msg)
|
||||
logger.debug("Scan queue request exists. Updating with response.")
|
||||
return
|
||||
with self._lock:
|
||||
request_item = self.find_request_by_ID(response_msg.metadata.get("RID"))
|
||||
if request_item:
|
||||
request_item.update_with_response(response_msg)
|
||||
logger.debug("Scan queue request exists. Updating with response.")
|
||||
return
|
||||
|
||||
# it could be that the response arrived before the request
|
||||
self.storage.append(RequestItem.from_response(self.scan_manager, response_msg))
|
||||
logger.debug("Scan queue request does not exist. Creating from response.")
|
||||
# it could be that the response arrived before the request
|
||||
self.storage.append(RequestItem.from_response(self.scan_manager, response_msg))
|
||||
logger.debug("Scan queue request does not exist. Creating from response.")
|
||||
|
||||
@threadlocked
|
||||
def update_with_request(self, request_msg: messages.ScanQueueMessage) -> None:
|
||||
"""create or update request item based on a new ScanQueueMessage (i.e. request message)"""
|
||||
if not request_msg.metadata:
|
||||
with self._lock:
|
||||
if not request_msg.metadata:
|
||||
return
|
||||
|
||||
if not request_msg.metadata.get("RID"):
|
||||
return
|
||||
|
||||
request_item = self.find_request_by_ID(request_msg.metadata.get("RID"))
|
||||
if request_item:
|
||||
request_item.update_with_request(request_msg)
|
||||
return
|
||||
|
||||
self.storage.append(RequestItem.from_request(self.scan_manager, request_msg))
|
||||
return
|
||||
|
||||
if not request_msg.metadata.get("RID"):
|
||||
return
|
||||
|
||||
request_item = self.find_request_by_ID(request_msg.metadata.get("RID"))
|
||||
if request_item:
|
||||
request_item.update_with_request(request_msg)
|
||||
return
|
||||
|
||||
self.storage.append(RequestItem.from_request(self.scan_manager, request_msg))
|
||||
return
|
||||
|
||||
@threadlocked
|
||||
def update_with_client_message(self, client_message: messages.ClientInfoMessage) -> None:
|
||||
"""Update the request item with a new ClientInfoMessage"""
|
||||
if not client_message.RID:
|
||||
return
|
||||
with self._lock:
|
||||
if not client_message.RID:
|
||||
return
|
||||
|
||||
request_item = self.find_request_by_ID(client_message.RID)
|
||||
if request_item:
|
||||
request_item.update_with_client_message(client_message)
|
||||
return
|
||||
request_item = self.find_request_by_ID(client_message.RID)
|
||||
if request_item:
|
||||
request_item.update_with_client_message(client_message)
|
||||
return
|
||||
|
||||
self.storage.append(RequestItem.from_client_message(self.scan_manager, client_message))
|
||||
return
|
||||
self.storage.append(RequestItem.from_client_message(self.scan_manager, client_message))
|
||||
return
|
||||
|
@ -10,7 +10,8 @@ from typing import TYPE_CHECKING
|
||||
import yaml
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import BECClient, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.client import BECClient
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.endpoints import EndpointInfo, MessageEndpoints
|
||||
|
@ -49,8 +49,8 @@ dev = [
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
bec-channel-monitor = "bec_lib:channel_monitor_launch"
|
||||
bec-log-monitor = "bec_lib:log_monitor_launch"
|
||||
bec-channel-monitor = "bec_lib.channel_monitor:channel_monitor_launch"
|
||||
bec-log-monitor = "bec_lib.channel_monitor:log_monitor_launch"
|
||||
|
||||
[project.entry-points.pytest11]
|
||||
bec_lib_fixtures = "bec_lib.tests.fixtures"
|
||||
|
@ -6,9 +6,10 @@ from unittest import mock
|
||||
import pytest
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
|
||||
|
@ -3,10 +3,11 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.dap_plugin_objects import DAPPluginObject, LmfitService1D
|
||||
from bec_lib.dap_plugins import DAPPlugins
|
||||
from bec_lib.device import DeviceBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.scan_items import ScanItem
|
||||
from bec_lib.scan_report import ScanReport
|
||||
|
||||
|
@ -6,7 +6,7 @@ from bec_lib import plugin_helper
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"class_spec, out_name",
|
||||
[("bec_lib.messages.BECMessage", "BECMessage"), ("bec_lib.BECStatus", "BECStatus")],
|
||||
[("bec_lib.messages.BECMessage", "BECMessage"), ("bec_lib.messages.BECStatus", "BECStatus")],
|
||||
)
|
||||
def test_get_plugin_class(class_spec, out_name):
|
||||
cls = plugin_helper.get_plugin_class(class_spec, [bec_lib])
|
||||
|
@ -2,7 +2,8 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.scan_manager import ScanManager
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@ While command-line arguments have to be set in the pre-startup script, the
|
||||
post-startup script can be used to load beamline specific information and
|
||||
to setup the prompts.
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -25,7 +25,9 @@ but they are executed in a specific order:
|
||||
|
||||
# import numpy as np
|
||||
|
||||
# from bec_lib import MessageEndpoints, bec_logger, messages
|
||||
# from bec_lib.endpoints import MessageEndpoints
|
||||
# from bec_lib.logger import bec_logger
|
||||
# from bec_lib import messages
|
||||
# from bec_server.scan_server.errors import ScanAbortion
|
||||
# from bec_server.scan_server.scans import FlyScanBase, RequestBase, ScanArgType, ScanBase
|
||||
|
||||
|
@ -5,7 +5,9 @@ import argparse
|
||||
import threading
|
||||
|
||||
import bec_server.data_processing as data_processing
|
||||
from bec_lib import RedisConnector, ServiceConfig, bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server.data_processing.lmfit1d_service import LmfitService1D
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -1,5 +1,7 @@
|
||||
from bec_lib import BECClient, ServiceConfig, bec_logger
|
||||
from bec_lib.client import BECClient
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
|
||||
from .dap_service_manager import DAPServiceManager
|
||||
|
||||
|
@ -4,11 +4,11 @@ import abc
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
# import numpy as np
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.signature_serializer import signature_to_dict
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib import BECClient
|
||||
from bec_lib.client import BECClient
|
||||
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -1,6 +1,9 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from bec_lib import BECClient, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.client import BECClient
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import MessageObject
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -8,8 +8,11 @@ from typing import TYPE_CHECKING
|
||||
import lmfit
|
||||
import numpy as np
|
||||
|
||||
from bec_lib import DeviceBase, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.device import DeviceBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.lmfit_serializer import deserialize_param_object, serialize_lmfit_params
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.serialization import MsgpackSerialization
|
||||
from bec_server.data_processing.dap_service import DAPError, DAPServiceBase
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import logging
|
||||
|
||||
from bec_lib import DeviceManagerBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
|
||||
from . import devices
|
||||
from .cli.launch import main
|
||||
|
@ -16,7 +16,9 @@ for entry_point in entry_points:
|
||||
import argparse
|
||||
import threading
|
||||
|
||||
from bec_lib import RedisConnector, ServiceConfig, bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server import device_server
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -8,9 +8,13 @@ import ophyd
|
||||
from ophyd import Kind, OphydObject, Staged
|
||||
from ophyd.utils import errors as ophyd_errors
|
||||
|
||||
from bec_lib import Alarms, BECService, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.device import OnFailure
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_server.device_server.devices.devicemanager import DeviceManagerDS
|
||||
from bec_server.device_server.rpc_mixin import RPCMixin
|
||||
|
@ -4,7 +4,10 @@ import copy
|
||||
import traceback
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from bec_lib import DeviceConfigError, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.devicemanager import DeviceConfigError
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from devicemanager import DeviceManagerDS
|
||||
|
@ -18,16 +18,13 @@ from ophyd.ophydobj import OphydObject
|
||||
from ophyd.signal import EpicsSignalBase
|
||||
from typeguard import typechecked
|
||||
|
||||
from bec_lib import (
|
||||
BECService,
|
||||
DeviceBase,
|
||||
DeviceConfigError,
|
||||
DeviceManagerBase,
|
||||
MessageEndpoints,
|
||||
bec_logger,
|
||||
messages,
|
||||
plugin_helper,
|
||||
)
|
||||
from bec_lib import messages, plugin_helper
|
||||
from bec_lib.bec_errors import DeviceConfigError
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.device import DeviceBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_server.device_server.devices.config_update_handler import ConfigUpdateHandler
|
||||
from bec_server.device_server.devices.device_serializer import get_device_info
|
||||
|
||||
|
@ -5,7 +5,10 @@ from typing import Any
|
||||
|
||||
import ophyd
|
||||
|
||||
from bec_lib import Alarms, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_server.device_server.devices import is_serializable, rgetattr
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -4,7 +4,9 @@ import argparse
|
||||
import os
|
||||
import threading
|
||||
|
||||
from bec_lib import RedisConnector, ServiceConfig, bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server import file_writer
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib import DeviceManagerBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_server.file_writer.file_writer import HDF5Storage
|
||||
|
||||
|
||||
|
@ -9,7 +9,9 @@ import typing
|
||||
|
||||
import h5py
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger, messages, plugin_helper
|
||||
from bec_lib import messages, plugin_helper
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .default_writer import NeXus_format as default_NeXus_format
|
||||
from .merged_dicts import merge_dicts
|
||||
|
@ -3,19 +3,16 @@ from __future__ import annotations
|
||||
import threading
|
||||
import traceback
|
||||
|
||||
from bec_lib import (
|
||||
BECService,
|
||||
DeviceManagerBase,
|
||||
MessageEndpoints,
|
||||
ServiceConfig,
|
||||
bec_logger,
|
||||
messages,
|
||||
threadlocked,
|
||||
)
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.async_data import AsyncDataHandler
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.file_utils import FileWriter
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import MessageObject, RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server.file_writer.file_writer import NexusFileWriter
|
||||
|
||||
logger = bec_logger.logger
|
||||
@ -254,7 +251,6 @@ class FileWriterManager(BECService):
|
||||
msgs
|
||||
)
|
||||
|
||||
@threadlocked
|
||||
def check_storage_status(self, scan_id: str) -> None:
|
||||
"""
|
||||
Check if the scan storage is ready to be written to file and write it if it is.
|
||||
@ -262,13 +258,14 @@ class FileWriterManager(BECService):
|
||||
Args:
|
||||
scan_id (str): Scan ID
|
||||
"""
|
||||
if not self.scan_storage.get(scan_id):
|
||||
return
|
||||
self.update_baseline_reading(scan_id)
|
||||
self.update_file_references(scan_id)
|
||||
if self.scan_storage[scan_id].ready_to_write():
|
||||
self.update_async_data(scan_id)
|
||||
self.write_file(scan_id)
|
||||
with self._lock:
|
||||
if not self.scan_storage.get(scan_id):
|
||||
return
|
||||
self.update_baseline_reading(scan_id)
|
||||
self.update_file_references(scan_id)
|
||||
if self.scan_storage[scan_id].ready_to_write():
|
||||
self.update_async_data(scan_id)
|
||||
self.write_file(scan_id)
|
||||
|
||||
def write_file(self, scan_id: str) -> None:
|
||||
"""
|
||||
|
@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any
|
||||
import numpy as np
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from bec_lib import DeviceManagerBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_server.file_writer.file_writer import HDF5Storage
|
||||
|
||||
|
||||
|
@ -2,7 +2,9 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .emitter import EmitterBase
|
||||
|
||||
|
@ -6,7 +6,8 @@ from typing import TYPE_CHECKING
|
||||
|
||||
import msgpack
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .emitter import EmitterBase
|
||||
|
||||
|
@ -4,7 +4,9 @@
|
||||
import argparse
|
||||
import threading
|
||||
|
||||
from bec_lib import RedisConnector, ServiceConfig, bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server import scan_bundler
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -5,8 +5,12 @@ import traceback
|
||||
from collections.abc import Callable
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
|
||||
from bec_lib import BECService, BECStatus, DeviceManagerBase, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .bec_emitter import BECEmitter
|
||||
from .bluesky_emitter import BlueskyEmitter
|
||||
@ -52,7 +56,7 @@ class ScanBundler(BECService):
|
||||
self._lock = threading.Lock()
|
||||
self._emitter = []
|
||||
self._initialize_emitters()
|
||||
self.status = BECStatus.RUNNING
|
||||
self.status = messages.BECStatus.RUNNING
|
||||
|
||||
def _initialize_emitters(self):
|
||||
self._emitter = [BECEmitter(self), BlueskyEmitter(self)]
|
||||
|
@ -4,7 +4,9 @@
|
||||
import argparse
|
||||
import threading
|
||||
|
||||
from bec_lib import RedisConnector, ServiceConfig, bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server import scan_server
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -1,6 +1,9 @@
|
||||
from collections.abc import Callable
|
||||
|
||||
from bec_lib import DeviceStatus, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.device import DeviceStatus
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
import traceback
|
||||
|
||||
from bec_lib import bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .errors import ScanAbortion
|
||||
from .scans import RequestBase, unpack_scan_args
|
||||
|
@ -1,6 +1,8 @@
|
||||
import traceback
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
import inspect
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger, plugin_helper
|
||||
from bec_lib import plugin_helper
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import AvailableResourceMessage
|
||||
from bec_lib.signature_serializer import signature_to_dict
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import time
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_server.scan_server.scans import ScanArgType, ScanBase, SyncFlyScanBase
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -11,7 +11,10 @@ from enum import Enum
|
||||
from rich.console import Console
|
||||
from rich.table import Table
|
||||
|
||||
from bec_lib import Alarms, MessageEndpoints, bec_logger, messages, threadlocked
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .errors import LimitError, ScanAbortion
|
||||
from .scan_assembler import ScanAssembler
|
||||
@ -84,19 +87,19 @@ class QueueManager:
|
||||
metadata=msg.metadata,
|
||||
)
|
||||
|
||||
@threadlocked
|
||||
def add_queue(self, queue_name: str) -> None:
|
||||
"""add a new queue to the queue manager"""
|
||||
if queue_name in self.queues:
|
||||
queue = self.queues[queue_name]
|
||||
if not queue.scan_worker.is_alive():
|
||||
logger.info(f"Restarting worker for queue {queue_name}")
|
||||
queue.clear()
|
||||
self.queues[queue_name] = ScanQueue(self, queue_name=queue_name)
|
||||
self.queues[queue_name].start_worker()
|
||||
return
|
||||
self.queues[queue_name] = ScanQueue(self, queue_name=queue_name)
|
||||
self.queues[queue_name].start_worker()
|
||||
with self._lock:
|
||||
if queue_name in self.queues:
|
||||
queue = self.queues[queue_name]
|
||||
if not queue.scan_worker.is_alive():
|
||||
logger.info(f"Restarting worker for queue {queue_name}")
|
||||
queue.clear()
|
||||
self.queues[queue_name] = ScanQueue(self, queue_name=queue_name)
|
||||
self.queues[queue_name].start_worker()
|
||||
return
|
||||
self.queues[queue_name] = ScanQueue(self, queue_name=queue_name)
|
||||
self.queues[queue_name].start_worker()
|
||||
|
||||
def _start_scan_queue_register(self) -> None:
|
||||
self.connector.register(
|
||||
@ -125,7 +128,6 @@ class QueueManager:
|
||||
parent.scan_interception(scan_mod_msg)
|
||||
parent.send_queue_status()
|
||||
|
||||
@threadlocked
|
||||
def scan_interception(self, scan_mod_msg: messages.ScanQueueModificationMessage) -> None:
|
||||
"""handle a scan interception by compiling the requested method name and forwarding the request.
|
||||
|
||||
@ -133,13 +135,14 @@ class QueueManager:
|
||||
scan_mod_msg (messages.ScanQueueModificationMessage): ScanQueueModificationMessage
|
||||
|
||||
"""
|
||||
logger.info(f"Scan interception: {scan_mod_msg}")
|
||||
action = scan_mod_msg.content["action"]
|
||||
parameter = scan_mod_msg.content["parameter"]
|
||||
queue = scan_mod_msg.content.get("queue", "primary")
|
||||
getattr(self, f"set_{action}")(
|
||||
scan_id=scan_mod_msg.content["scan_id"], queue=queue, parameter=parameter
|
||||
)
|
||||
with self._lock:
|
||||
logger.info(f"Scan interception: {scan_mod_msg}")
|
||||
action = scan_mod_msg.content["action"]
|
||||
parameter = scan_mod_msg.content["parameter"]
|
||||
queue = scan_mod_msg.content.get("queue", "primary")
|
||||
getattr(self, f"set_{action}")(
|
||||
scan_id=scan_mod_msg.content["scan_id"], queue=queue, parameter=parameter
|
||||
)
|
||||
|
||||
@requires_queue
|
||||
def set_pause(self, scan_id=None, queue="primary", parameter: dict = None) -> None:
|
||||
@ -246,19 +249,19 @@ class QueueManager:
|
||||
continue
|
||||
return history[-1]
|
||||
|
||||
@threadlocked
|
||||
def send_queue_status(self) -> None:
|
||||
"""send the current queue to redis"""
|
||||
queue_export = self.export_queue()
|
||||
if not queue_export:
|
||||
return
|
||||
logger.info("New scan queue:")
|
||||
for queue in self.describe_queue():
|
||||
logger.info(f"\n {queue}")
|
||||
self.connector.set_and_publish(
|
||||
MessageEndpoints.scan_queue_status(),
|
||||
messages.ScanQueueStatusMessage(queue=queue_export),
|
||||
)
|
||||
with self._lock:
|
||||
queue_export = self.export_queue()
|
||||
if not queue_export:
|
||||
return
|
||||
logger.info("New scan queue:")
|
||||
for queue in self.describe_queue():
|
||||
logger.info(f"\n {queue}")
|
||||
self.connector.set_and_publish(
|
||||
MessageEndpoints.scan_queue_status(),
|
||||
messages.ScanQueueStatusMessage(queue=queue_export),
|
||||
)
|
||||
|
||||
def describe_queue(self) -> list:
|
||||
"""create a rich.table description of the current scan queue"""
|
||||
@ -411,46 +414,46 @@ class ScanQueue:
|
||||
if updated:
|
||||
return self.active_instruction_queue
|
||||
|
||||
@threadlocked
|
||||
def _next_instruction_queue(self) -> bool:
|
||||
"""get the next instruction queue from the queue. If no update is available, it will return False."""
|
||||
try:
|
||||
aiq = self.active_instruction_queue
|
||||
if (
|
||||
aiq is not None
|
||||
and len(self.queue) > 0
|
||||
and self.queue[0].status != InstructionQueueStatus.PENDING
|
||||
):
|
||||
logger.info(f"Removing queue item {self.queue[0].describe()} from queue")
|
||||
self.queue.popleft()
|
||||
self.queue_manager.send_queue_status()
|
||||
with self._lock:
|
||||
try:
|
||||
aiq = self.active_instruction_queue
|
||||
if (
|
||||
aiq is not None
|
||||
and len(self.queue) > 0
|
||||
and self.queue[0].status != InstructionQueueStatus.PENDING
|
||||
):
|
||||
logger.info(f"Removing queue item {self.queue[0].describe()} from queue")
|
||||
self.queue.popleft()
|
||||
self.queue_manager.send_queue_status()
|
||||
|
||||
if self.status != ScanQueueStatus.PAUSED:
|
||||
if len(self.queue) == 0:
|
||||
if aiq is None:
|
||||
time.sleep(0.1)
|
||||
if self.status != ScanQueueStatus.PAUSED:
|
||||
if len(self.queue) == 0:
|
||||
if aiq is None:
|
||||
time.sleep(0.1)
|
||||
return False
|
||||
self.active_instruction_queue = None
|
||||
time.sleep(0.01)
|
||||
return False
|
||||
self.active_instruction_queue = None
|
||||
time.sleep(0.01)
|
||||
return False
|
||||
|
||||
self.active_instruction_queue = self.queue[0]
|
||||
self.history_queue.append(self.active_instruction_queue)
|
||||
return True
|
||||
|
||||
while self.status == ScanQueueStatus.PAUSED and not self.signal_event.is_set():
|
||||
if len(self.queue) == 0 and self.auto_reset_enabled:
|
||||
# we don't need to pause if there is no scan enqueued
|
||||
self.status = ScanQueueStatus.RUNNING
|
||||
logger.info("resetting queue status to running")
|
||||
time.sleep(0.1)
|
||||
|
||||
self.active_instruction_queue = self.queue[0]
|
||||
self.history_queue.append(self.active_instruction_queue)
|
||||
return True
|
||||
|
||||
while self.status == ScanQueueStatus.PAUSED and not self.signal_event.is_set():
|
||||
if len(self.queue) == 0 and self.auto_reset_enabled:
|
||||
# we don't need to pause if there is no scan enqueued
|
||||
self.status = ScanQueueStatus.RUNNING
|
||||
logger.info("resetting queue status to running")
|
||||
time.sleep(0.1)
|
||||
|
||||
self.active_instruction_queue = self.queue[0]
|
||||
self.history_queue.append(self.active_instruction_queue)
|
||||
return True
|
||||
except IndexError:
|
||||
time.sleep(0.01)
|
||||
return False
|
||||
except IndexError:
|
||||
time.sleep(0.01)
|
||||
return False
|
||||
|
||||
def insert(self, msg: messages.ScanQueueMessage, position=-1, **_kwargs):
|
||||
"""insert a new message to the queue"""
|
||||
|
@ -1,9 +1,13 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from bec_lib import Alarms, BECService, BECStatus
|
||||
from bec_lib import DeviceManagerBase as DeviceManager
|
||||
from bec_lib import MessageEndpoints, ServiceConfig, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase as DeviceManager
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
|
||||
from .scan_assembler import ScanAssembler
|
||||
from .scan_guard import ScanGuard
|
||||
@ -31,7 +35,7 @@ class ScanServer(BECService):
|
||||
# self._start_scan_server()
|
||||
self._start_alarm_handler()
|
||||
self._reset_scan_number()
|
||||
self.status = BECStatus.RUNNING
|
||||
self.status = messages.BECStatus.RUNNING
|
||||
|
||||
def _start_device_manager(self):
|
||||
self.wait_for_service("DeviceServer")
|
||||
|
@ -8,8 +8,11 @@ from typing import Generator, Literal
|
||||
|
||||
import numpy as np
|
||||
|
||||
from bec_lib import MessageEndpoints, Status, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.device import Status
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .errors import DeviceMessageError, ScanAbortion
|
||||
|
||||
|
@ -3,7 +3,11 @@ import threading
|
||||
import time
|
||||
import traceback
|
||||
|
||||
from bec_lib import Alarms, DeviceBase, MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.device import DeviceBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .device_validation import DeviceValidation
|
||||
from .errors import DeviceMessageError, ScanAbortion
|
||||
|
@ -7,7 +7,9 @@ from typing import Any, Literal
|
||||
|
||||
import numpy as np
|
||||
|
||||
from bec_lib import DeviceManagerBase, MessageEndpoints, bec_logger
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
from .errors import LimitError, ScanAbortion
|
||||
from .path_optimization import PathOptimizerMixin
|
||||
|
@ -1,5 +1,5 @@
|
||||
from bec_lib import ServiceConfig
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.scan_server.scan_server import ScanServer
|
||||
from bec_server.scan_server.scan_worker import InstructionQueueStatus
|
||||
|
@ -4,7 +4,9 @@
|
||||
import argparse
|
||||
import threading
|
||||
|
||||
from bec_lib import RedisConnector, ServiceConfig, bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server import scihub
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -7,10 +7,12 @@ import uuid
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import DeviceConfigError
|
||||
from bec_lib import DeviceManagerBase as DeviceManager
|
||||
from bec_lib import MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_errors import DeviceConfigError
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.devicemanager import DeviceManagerBase as DeviceManager
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.scibec_validator import SciBecValidator
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
@ -7,8 +7,10 @@ import py_scibec
|
||||
from dotenv import dotenv_values
|
||||
from py_scibec import SciBecCore
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_server.scihub.repeated_timer import RepeatedTimer
|
||||
|
||||
from .config_handler import ConfigHandler
|
||||
|
@ -8,7 +8,8 @@ import numpy as np
|
||||
import py_scibec
|
||||
import py_scibec_openapi_client.models as py_scibec_models
|
||||
|
||||
from bec_lib import MessageEndpoints, bec_logger
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.serialization import json_ext
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -1,5 +1,7 @@
|
||||
from bec_lib import BECService, BECStatus, ServiceConfig
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_service import BECService
|
||||
from bec_lib.connector import ConnectorBase
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server.scihub.scibec import SciBecConnector
|
||||
from bec_server.scihub.scilog import SciLogConnector
|
||||
|
||||
@ -12,7 +14,7 @@ class SciHub(BECService):
|
||||
self.scilog_connector = None
|
||||
self._start_scibec_connector()
|
||||
self._start_scilog_connector()
|
||||
self.status = BECStatus.RUNNING
|
||||
self.status = messages.BECStatus.RUNNING
|
||||
|
||||
def _start_scibec_connector(self):
|
||||
self.wait_for_service("DeviceServer")
|
||||
|
@ -6,7 +6,10 @@ from typing import TYPE_CHECKING
|
||||
import requests
|
||||
from dotenv import dotenv_values
|
||||
|
||||
from bec_lib import MessageEndpoints, RedisConnector, bec_logger, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_server.scihub.repeated_timer import RepeatedTimer
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
# overwrite threads_check fixture from bec_lib,
|
||||
# to have it in autouse
|
||||
|
@ -1,6 +1,6 @@
|
||||
from unittest import mock
|
||||
|
||||
from bec_lib import ServiceConfig
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_server.data_processing.dap_server import DAPServer
|
||||
from bec_server.data_processing.dap_service import DAPServiceBase
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
### THE NEXT FIXTURE HAS TO BE RE-ACTIVATED ONCE
|
||||
### OPHYD "STATUS CALLBACKS" THREADS ARE CLEANED
|
||||
|
@ -7,8 +7,8 @@ import numpy as np
|
||||
import pytest
|
||||
import yaml
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_server.device_server.devices.devicemanager import DeviceManagerDS
|
||||
|
||||
# pylint: disable=missing-function-docstring
|
||||
|
@ -5,9 +5,12 @@ import pytest
|
||||
from ophyd import Staged
|
||||
from ophyd.utils import errors as ophyd_errors
|
||||
|
||||
from bec_lib import Alarms, MessageEndpoints, ServiceConfig, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_lib.redis_connector import MessageObject
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.device_server import DeviceServer
|
||||
from bec_server.device_server.device_server import InvalidDeviceError
|
||||
|
@ -5,7 +5,9 @@ from unittest import mock
|
||||
import pytest
|
||||
from ophyd import Device, Kind, Signal, Staged, StatusBase
|
||||
|
||||
from bec_lib import Alarms, MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_server.device_server.rpc_mixin import RPCMixin
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
# overwrite threads_check fixture from bec_lib,
|
||||
# to have it in autouse
|
||||
|
@ -6,9 +6,11 @@ import numpy as np
|
||||
import pytest
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import MessageEndpoints, ServiceConfig, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.redis_connector import MessageObject
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.file_writer import FileWriterManager
|
||||
from bec_server.file_writer.file_writer import FileWriter
|
||||
|
@ -5,8 +5,10 @@ import pytest
|
||||
import yaml
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import DeviceManagerBase, ServiceConfig, bec_logger, messages
|
||||
from bec_lib.devicemanager import DeviceManagerBase
|
||||
from bec_lib.logger import bec_logger
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.scan_bundler import ScanBundler
|
||||
|
||||
|
@ -2,7 +2,8 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_server.scan_bundler.bec_emitter import BECEmitter
|
||||
|
||||
|
||||
|
@ -3,7 +3,7 @@ from unittest import mock
|
||||
import msgpack
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_server.scan_bundler.bluesky_emitter import BlueskyEmitter
|
||||
|
||||
|
||||
|
@ -2,8 +2,9 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.connector import MessageObject
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
|
||||
# pylint: disable=missing-function-docstring
|
||||
# pylint: disable=protected-access
|
||||
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
# overwrite threads_check fixture from bec_lib,
|
||||
# to have it in autouse
|
||||
|
@ -2,7 +2,8 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.redis_connector import MessageObject
|
||||
from bec_server.scan_server.scan_guard import ScanGuard, ScanRejection, ScanStatus
|
||||
from bec_server.scan_server.tests.fixtures import scan_server_mock
|
||||
|
@ -3,7 +3,9 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import Alarms, MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.alarm_handler import Alarms
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.redis_connector import MessageObject
|
||||
from bec_server.scan_server.scan_assembler import ScanAssembler
|
||||
from bec_server.scan_server.scan_queue import (
|
||||
|
@ -3,7 +3,8 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.scan_server.errors import DeviceMessageError
|
||||
from bec_server.scan_server.scan_stubs import ScanAbortion, ScanStubs
|
||||
|
@ -4,7 +4,8 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.scan_server.errors import DeviceMessageError, ScanAbortion
|
||||
from bec_server.scan_server.scan_assembler import ScanAssembler
|
||||
|
@ -4,7 +4,7 @@ from py_scibec_openapi_client.models.dataset_with_relations import DatasetWithRe
|
||||
from py_scibec_openapi_client.models.experiment_with_relations import ExperimentWithRelations
|
||||
from py_scibec_openapi_client.models.scan_with_relations import ScanWithRelations
|
||||
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
# overwrite threads_check fixture from bec_lib,
|
||||
# to have it in autouse
|
||||
|
@ -8,9 +8,9 @@ from fastjsonschema import JsonSchemaException
|
||||
from test_scibec_connector import SciBecMock, SciHubMock
|
||||
|
||||
import bec_lib
|
||||
from bec_lib import DeviceBase, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.bec_errors import DeviceConfigError
|
||||
from bec_lib.device import OnFailure, ReadoutPriority
|
||||
from bec_lib.device import DeviceBase, OnFailure, ReadoutPriority
|
||||
from bec_server.scihub import SciHub
|
||||
from bec_server.scihub.scibec import ConfigHandler, SciBecConnector
|
||||
|
||||
|
@ -2,8 +2,10 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from bec_lib import MessageEndpoints, ServiceConfig, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib.messages import BECStatus
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.tests.utils import ConnectorMock
|
||||
from bec_server.scihub import SciHub
|
||||
from bec_server.scihub.scibec import SciBecConnector
|
||||
|
@ -2,7 +2,8 @@ from unittest import mock
|
||||
|
||||
from test_scibec_connector import SciHubMock
|
||||
|
||||
from bec_lib import MessageEndpoints, messages
|
||||
from bec_lib import messages
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_server.scihub.scilog import SciLogConnector
|
||||
|
||||
|
||||
|
@ -4,7 +4,9 @@ Large data sources typically have their own data pipeline, optimized for their s
|
||||
As of now, only external data sources that are based on HDF5 files are supported. BEC can be informed about new HDF5 files by emitting a [FileMessage](#bec_lib.messages.FileMessage) to the [public_file endpoint](#bec_lib.endpoints.MessageEndpoints.public_file), e.g.
|
||||
|
||||
```python
|
||||
from bec_lib import MessageEndpoints, messages, RedisConnector
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_lib import messages
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
|
||||
scan_id = "scan id of the current scan"
|
||||
|
||||
|
@ -29,7 +29,7 @@ The log level can be set for each service and even each sink individually. While
|
||||
Using the logger in BEC is straightforward. The logger is already included in the BEC environment and can be imported via
|
||||
|
||||
```python
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
logger = bec_logger.logger
|
||||
```
|
||||
|
||||
|
@ -59,7 +59,7 @@ It could be useful to automatically enable the threads check and `loguru` cleani
|
||||
following fixture to a `conftest.py` file with your new test files:
|
||||
|
||||
```
|
||||
from bec_lib import bec_logger
|
||||
from bec_lib.logger import bec_logger
|
||||
def auto_check_threads(threads_check):
|
||||
yield
|
||||
bec_logger.logger.remove()
|
||||
|
@ -12,7 +12,10 @@ from pytest_redis import factories as pytest_redis_factories
|
||||
from redis import Redis
|
||||
|
||||
from bec_ipython_client import BECIPythonClient
|
||||
from bec_lib import BECClient, ConfigHelper, RedisConnector, ServiceConfig
|
||||
from bec_lib.client import BECClient
|
||||
from bec_lib.config_helper import ConfigHelper
|
||||
from bec_lib.redis_connector import RedisConnector
|
||||
from bec_lib.service_config import ServiceConfig
|
||||
from bec_lib.tests.utils import wait_for_empty_queue
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user