generated from john/python-template
fix: derive worker shutdown wait from timeout budget
Co-authored-by: Copilot App <[email protected]>
This commit is contained in:
co-authored by
Copilot App
parent
86cdb4035c
commit
f9261a1af3
@@ -28,6 +28,7 @@ class TestAppLifespan:
|
||||
def test_startup_initializes_runtime_dependencies(self, monkeypatch, tmp_path):
|
||||
"""Startup initializes logging, schema, directories, and worker resources."""
|
||||
calls = []
|
||||
worker_kwargs = {}
|
||||
|
||||
monkeypatch.setattr("transcription.app.configure_logging", lambda _settings: calls.append("logging"))
|
||||
monkeypatch.setattr("transcription.app.register_pages", lambda _app: None)
|
||||
@@ -53,6 +54,7 @@ class TestAppLifespan:
|
||||
|
||||
@asynccontextmanager
|
||||
async def _worker_lifespan(**_kwargs):
|
||||
worker_kwargs.update(_kwargs)
|
||||
calls.append("worker_start")
|
||||
yield object(), object(), object()
|
||||
calls.append("worker_stop")
|
||||
@@ -78,6 +80,9 @@ class TestAppLifespan:
|
||||
assert "worker_start" in calls
|
||||
assert "worker_stop" in calls
|
||||
assert "dispose_db" in calls
|
||||
assert worker_kwargs["shutdown_timeout_seconds"] == pytest.approx(
|
||||
settings.worker_provider_timeout_seconds + settings.worker_shutdown_grace_seconds
|
||||
)
|
||||
assert settings.upload_dir.exists()
|
||||
assert settings.prompt_dir.exists()
|
||||
|
||||
|
||||
@@ -169,6 +169,7 @@ class TestWorkerReliabilitySettings:
|
||||
assert settings.worker_max_retries == 0
|
||||
assert settings.worker_stale_job_seconds == 30.0
|
||||
assert settings.worker_retry_backoff_seconds == 1.0
|
||||
assert settings.worker_shutdown_grace_seconds == 5.0
|
||||
|
||||
|
||||
def test_provider_timeout_is_not_capped_at_twenty_seconds():
|
||||
|
||||
@@ -169,6 +169,7 @@ def test_env_example_default_values_match_settings_defaults():
|
||||
"WORKER_PROVIDER_TIMEOUT_SECONDS": str(defaults.worker_provider_timeout_seconds),
|
||||
"WORKER_STALE_JOB_SECONDS": str(defaults.worker_stale_job_seconds),
|
||||
"WORKER_RETRY_BACKOFF_SECONDS": str(defaults.worker_retry_backoff_seconds),
|
||||
"WORKER_SHUTDOWN_GRACE_SECONDS": str(defaults.worker_shutdown_grace_seconds),
|
||||
"WORKER_MIN_TRANSCRIPTION_CHARS": str(defaults.worker_min_transcription_chars),
|
||||
"WORKER_MIN_TRANSCRIPTION_LINES": str(defaults.worker_min_transcription_lines),
|
||||
"WORKER_FAIL_ON_FINISH_REASON_LENGTH": str(defaults.worker_fail_on_finish_reason_length).lower(),
|
||||
|
||||
Reference in New Issue
Block a user