From 67a458c491b65703945d47a611daa74a1c16b294 Mon Sep 17 00:00:00 2001 From: "tao.chen" <93983997+taochen-ct@users.noreply.github.com> Date: Fri, 21 Aug 2026 14:42:56 +0800 Subject: [PATCH] refactor(schedule): extract application/ layer (stage 5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Move service.py -> application/service.py (SchedulerService class name unchanged; build_object_store / build_storage_http_client move along) - main.py imports schedule.application.service - Rewrite worker.py's lazy `from schedule.service import build_object_store` and test_worker.py's mock patch string targets — same class of bug as the test_janitor patch strings (silent no-op until the old file is deleted) - Delete flat service.py (orphaned; only docstring refs remain in orchestrator, cleaned up in stage 6) - Zero behavior change; schedule/pyproject.toml untouched Co-Authored-By: Claude --- schedule/src/schedule/application/__init__.py | 0 schedule/src/schedule/{ => application}/service.py | 0 schedule/src/schedule/execution/worker.py | 2 +- schedule/src/schedule/main.py | 2 +- schedule/src/schedule/worker.py | 2 +- schedule/tests/test_worker.py | 4 ++-- 6 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 schedule/src/schedule/application/__init__.py rename schedule/src/schedule/{ => application}/service.py (100%) diff --git a/schedule/src/schedule/application/__init__.py b/schedule/src/schedule/application/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/schedule/src/schedule/service.py b/schedule/src/schedule/application/service.py similarity index 100% rename from schedule/src/schedule/service.py rename to schedule/src/schedule/application/service.py diff --git a/schedule/src/schedule/execution/worker.py b/schedule/src/schedule/execution/worker.py index e163758..7743618 100644 --- a/schedule/src/schedule/execution/worker.py +++ b/schedule/src/schedule/execution/worker.py @@ -87,7 +87,7 @@ class NodeExecutor: store = self._bucket_stores.get(bucket_name) if store is not None: return store - from schedule.service import build_object_store + from schedule.application.service import build_object_store store = build_object_store(bucket_name=bucket_name) self._bucket_stores[bucket_name] = store diff --git a/schedule/src/schedule/main.py b/schedule/src/schedule/main.py index 3c978f3..b517314 100644 --- a/schedule/src/schedule/main.py +++ b/schedule/src/schedule/main.py @@ -9,7 +9,7 @@ from common.db import create_database_engine, create_session_factory from common.service_app import create_service_app from loguru import logger -from schedule.service import ( +from schedule.application.service import ( SchedulerService, build_object_store, build_storage_http_client, diff --git a/schedule/src/schedule/worker.py b/schedule/src/schedule/worker.py index e163758..7743618 100644 --- a/schedule/src/schedule/worker.py +++ b/schedule/src/schedule/worker.py @@ -87,7 +87,7 @@ class NodeExecutor: store = self._bucket_stores.get(bucket_name) if store is not None: return store - from schedule.service import build_object_store + from schedule.application.service import build_object_store store = build_object_store(bucket_name=bucket_name) self._bucket_stores[bucket_name] = store diff --git a/schedule/tests/test_worker.py b/schedule/tests/test_worker.py index 7f9e89c..57dd630 100644 --- a/schedule/tests/test_worker.py +++ b/schedule/tests/test_worker.py @@ -61,7 +61,7 @@ def test_store_for_custom_bucket_uses_build_factory(monkeypatch: pytest.MonkeyPa """A custom bucket_name must produce a store via ``build_object_store``.""" custom_store = MagicMock(name="custom_store") with patch( - "schedule.service.build_object_store", + "schedule.application.service.build_object_store", return_value=custom_store, ) as mock_build: executor, _, _ = _make_executor() @@ -75,7 +75,7 @@ def test_store_for_custom_bucket_is_cached(monkeypatch: pytest.MonkeyPatch) -> N """Repeated lookups for the same custom bucket must hit the cache.""" custom_store = MagicMock(name="custom_store") with patch( - "schedule.service.build_object_store", + "schedule.application.service.build_object_store", return_value=custom_store, ) as mock_build: executor, _, _ = _make_executor()