refactor: require scheduler task ownership

This commit is contained in:
jxxghp
2026-08-24 05:25:43 +08:00
parent ce918e1565
commit 4575146acd
4 changed files with 48 additions and 37 deletions
+9
View File
@@ -2,6 +2,7 @@
import asyncio
import gc
import inspect
import threading
import warnings
@@ -69,6 +70,14 @@ def _scheduler(job_id: str, func) -> Scheduler:
return scheduler
def test_internal_loop_submission_requires_job_owner() -> None:
"""Scheduler 内部协程桥接不得再提供省略 job owner 的游离提交分支。"""
parameter = inspect.signature(Scheduler._submit_to_loop).parameters["job_id"]
assert parameter.default is inspect.Parameter.empty
assert parameter.annotation is str
@pytest.mark.anyio
async def test_stop_async_cancels_and_awaits_scheduler_owned_job(monkeypatch) -> None:
"""关闭后已投递协程必须取消并完成收尾,不得遗留 owner 句柄。"""