diff --git a/src/vocutouts/config.py b/src/vocutouts/config.py index 33e2783..41b80f2 100644 --- a/src/vocutouts/config.py +++ b/src/vocutouts/config.py @@ -194,6 +194,16 @@ def _parse_timedelta(cls, v: str | float | timedelta) -> float | timedelta: except ValueError: return parse_timedelta(v) + @field_validator("timeout", mode="before") + @classmethod + def _parse_timedelta_seconds( + cls, v: str | float | timedelta + ) -> float | timedelta: + """Support human-readable timedeltas.""" + if not isinstance(v, str): + return v + return int(v) + @property def arq_redis_settings(self) -> RedisSettings: """Redis settings for arq."""