frostfs-sdk-python/frostfs_sdk/client/parameters/wait_param.py
Ilyas Niyazov 297e107b10 [#3] Added generate proto script create container method
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
2025-03-25 11:13:48 +03:00

21 lines
758 B
Python

from dataclasses import dataclass, field
from datetime import datetime, timedelta
from typing import Optional
@dataclass(frozen=True)
class WaitParam:
DEFAULT_TIMEOUT: timedelta = field(default=timedelta(seconds=120), init=False)
DEFAULT_POLL_INTERVAL: timedelta = field(default=timedelta(seconds=5), init=False)
timeout: timedelta = DEFAULT_TIMEOUT
poll_interval: timedelta = DEFAULT_POLL_INTERVAL
def __post_init__(self):
if self.timeout is None:
object.__setattr__(self, 'timeout', self.DEFAULT_TIMEOUT)
if self.poll_interval is None:
object.__setattr__(self, 'poll_interval', self.DEFAULT_POLL_INTERVAL)
def get_deadline(self) -> datetime:
return datetime.now() + self.timeout