Changeset View
Changeset View
Standalone View
Standalone View
swh/web/common/origin_save.py
Show All 32 Lines | from swh.web.common.models import ( | ||||
SAVE_TASK_NOT_YET_SCHEDULED, | SAVE_TASK_NOT_YET_SCHEDULED, | ||||
SAVE_TASK_SCHEDULED, | SAVE_TASK_SCHEDULED, | ||||
SAVE_TASK_SUCCEED, | SAVE_TASK_SUCCEED, | ||||
SAVE_TASK_FAILED, | SAVE_TASK_FAILED, | ||||
SAVE_TASK_RUNNING, | SAVE_TASK_RUNNING, | ||||
SAVE_TASK_NOT_CREATED, | SAVE_TASK_NOT_CREATED, | ||||
) | ) | ||||
from swh.web.common.origin_visits import get_origin_visits | from swh.web.common.origin_visits import get_origin_visits | ||||
from swh.web.common.utils import parse_timestamp, SWH_WEB_METRICS_REGISTRY | from swh.web.common.utils import parse_iso8601_date_to_utc, SWH_WEB_METRICS_REGISTRY | ||||
from swh.scheduler.utils import create_oneshot_task_dict | from swh.scheduler.utils import create_oneshot_task_dict | ||||
scheduler = config.scheduler() | scheduler = config.scheduler() | ||||
logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
▲ Show 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | def _get_visit_info_for_save_request(save_request): | ||||
# stop trying to find a visit date one month after save request submission | # stop trying to find a visit date one month after save request submission | ||||
# as those requests to storage are expensive and associated loading task | # as those requests to storage are expensive and associated loading task | ||||
# surely ended up with errors | # surely ended up with errors | ||||
if time_delta.days <= 30: | if time_delta.days <= 30: | ||||
try: | try: | ||||
origin = {"url": save_request.origin_url} | origin = {"url": save_request.origin_url} | ||||
origin_info = service.lookup_origin(origin) | origin_info = service.lookup_origin(origin) | ||||
origin_visits = get_origin_visits(origin_info) | origin_visits = get_origin_visits(origin_info) | ||||
visit_dates = [parse_timestamp(v["date"]) for v in origin_visits] | visit_dates = [parse_iso8601_date_to_utc(v["date"]) for v in origin_visits] | ||||
i = bisect_right(visit_dates, save_request.request_date) | i = bisect_right(visit_dates, save_request.request_date) | ||||
if i != len(visit_dates): | if i != len(visit_dates): | ||||
visit_date = visit_dates[i] | visit_date = visit_dates[i] | ||||
visit_status = origin_visits[i]["status"] | visit_status = origin_visits[i]["status"] | ||||
if origin_visits[i]["status"] == "ongoing": | if origin_visits[i]["status"] == "ongoing": | ||||
visit_date = None | visit_date = None | ||||
except Exception as exc: | except Exception as exc: | ||||
sentry_sdk.capture_exception(exc) | sentry_sdk.capture_exception(exc) | ||||
▲ Show 20 Lines • Show All 450 Lines • Show Last 20 Lines |