Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/model.py
Show First 20 Lines • Show All 198 Lines • ▼ Show 20 Lines | last_notfound = attr.ib( | ||||
type=Optional[datetime.datetime], validator=type_validator() | type=Optional[datetime.datetime], validator=type_validator() | ||||
) | ) | ||||
last_scheduled = attr.ib( | last_scheduled = attr.ib( | ||||
type=Optional[datetime.datetime], validator=[type_validator()], default=None, | type=Optional[datetime.datetime], validator=[type_validator()], default=None, | ||||
) | ) | ||||
last_snapshot = attr.ib( | last_snapshot = attr.ib( | ||||
type=Optional[bytes], validator=type_validator(), default=None | type=Optional[bytes], validator=type_validator(), default=None | ||||
) | ) | ||||
next_visit_queue_position = attr.ib( | |||||
type=Optional[datetime.datetime], validator=type_validator(), default=None | |||||
) | |||||
next_position_offset = attr.ib(type=int, validator=type_validator(), default=4) | |||||
@last_eventful.validator | @last_eventful.validator | ||||
def check_last_eventful(self, attribute, value): | def check_last_eventful(self, attribute, value): | ||||
check_timestamptz(value) | check_timestamptz(value) | ||||
@last_uneventful.validator | @last_uneventful.validator | ||||
def check_last_uneventful(self, attribute, value): | def check_last_uneventful(self, attribute, value): | ||||
check_timestamptz(value) | check_timestamptz(value) | ||||
@last_failed.validator | @last_failed.validator | ||||
def check_last_failed(self, attribute, value): | def check_last_failed(self, attribute, value): | ||||
check_timestamptz(value) | check_timestamptz(value) | ||||
@last_notfound.validator | @last_notfound.validator | ||||
def check_last_notfound(self, attribute, value): | def check_last_notfound(self, attribute, value): | ||||
check_timestamptz(value) | check_timestamptz(value) | ||||
@next_visit_queue_position.validator | |||||
def check_next_visit_queue_position(self, attribute, value): | |||||
check_timestamptz(value) | |||||
@attr.s(frozen=True, slots=True) | @attr.s(frozen=True, slots=True) | ||||
class SchedulerMetrics(BaseSchedulerModel): | class SchedulerMetrics(BaseSchedulerModel): | ||||
"""Metrics for the scheduler, aggregated by (lister_id, visit_type)""" | """Metrics for the scheduler, aggregated by (lister_id, visit_type)""" | ||||
lister_id = attr.ib( | lister_id = attr.ib( | ||||
type=UUID, validator=[type_validator()], metadata={"primary_key": True} | type=UUID, validator=[type_validator()], metadata={"primary_key": True} | ||||
) | ) | ||||
Show All 23 Lines |