mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
refactor: require scheduler task ownership
This commit is contained in:
@@ -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 句柄。"""
|
||||
|
||||
Reference in New Issue
Block a user