From 617cd146d4260fabcd6624b3ed18309ebb9db85c Mon Sep 17 00:00:00 2001 From: gogocat Date: Thu, 2 Apr 2026 00:45:26 +0300 Subject: [PATCH] fix(examples): lint fixes in demo_runner.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sorted imports, contextlib.suppress instead of try/except pass, fixed constant alias naming (REPL as MoleculerPyREPL → REPL). Co-Authored-By: Claude Opus 4.6 (1M context) --- examples/demo_runner.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/examples/demo_runner.py b/examples/demo_runner.py index 4918a01..896a0e9 100644 --- a/examples/demo_runner.py +++ b/examples/demo_runner.py @@ -17,6 +17,7 @@ from __future__ import annotations import asyncio +import contextlib import signal import sys import time @@ -72,7 +73,8 @@ def __init__(self, node_id: str = "mock-node", heartbeat_interval: float = 0): self._heartbeat_task = None # Initialize logger factory for Moleculer-style logging - from moleculerpy_repl.logger import LoggerFactory, LogLevel, LogFormat + from moleculerpy_repl.logger import LogFormat, LoggerFactory, LogLevel + self.logger_factory = LoggerFactory( node_id=node_id, level=LogLevel.INFO, @@ -100,6 +102,7 @@ async def start(self) -> None: async def _heartbeat_loop(self) -> None: """Background heartbeat loop.""" import psutil + while True: try: await asyncio.sleep(self.heartbeat_interval) @@ -115,10 +118,8 @@ async def stop(self) -> None: # Stop heartbeat task if self._heartbeat_task: self._heartbeat_task.cancel() - try: + with contextlib.suppress(asyncio.CancelledError): await self._heartbeat_task - except asyncio.CancelledError: - pass self._discovery_log.debug("Heartbeat stopped") self.logger.info("ServiceBroker is stopping...") @@ -158,7 +159,7 @@ async def broadcast(self, event: str, params: dict = None, **kwargs) -> None: async def run_single_worker_demo(node_id: str, with_repl: bool = True, heartbeat: float = 0): """Run a single worker demo with mock broker.""" - from moleculerpy_repl.repl import REPL as MoleculerPyREPL + from moleculerpy_repl.repl import REPL print("=" * 60) print("MoleculerPy Runner Demo (Single Worker Mode)") @@ -176,7 +177,7 @@ async def run_single_worker_demo(node_id: str, with_repl: bool = True, heartbeat # Start REPL # Note: REPL.run() calls broker.stop() in finally block, # so we don't need to stop it here - repl = MoleculerPyREPL( + repl = REPL( broker=broker, delimiter=f"{node_id} $ ", ) @@ -220,14 +221,18 @@ def main(): For testing REPL and commands, use single worker mode. """, ) - parser.add_argument("-i", "--instances", type=int, default=1, - help="Number of worker instances (requires MoleculerPy for >1)") - parser.add_argument("-r", "--repl", action="store_true", - help="Start REPL") - parser.add_argument("-n", "--node-id", type=str, default="demo-node", - help="Node ID prefix") - parser.add_argument("--heartbeat", type=float, default=0, - help="Heartbeat interval in seconds (0 = disabled)") + parser.add_argument( + "-i", + "--instances", + type=int, + default=1, + help="Number of worker instances (requires MoleculerPy for >1)", + ) + parser.add_argument("-r", "--repl", action="store_true", help="Start REPL") + parser.add_argument("-n", "--node-id", type=str, default="demo-node", help="Node ID prefix") + parser.add_argument( + "--heartbeat", type=float, default=0, help="Heartbeat interval in seconds (0 = disabled)" + ) args = parser.parse_args()