+ Берёт quarter_cad_number из rosreestr_deals (ДДУ-сделки на квартиры) →
+ тянет полигон cad-квартала + здания внутри из NSPD geoportal. Расписание
+ (beat): 20-е число фев/мая/авг/нояб (после квартальных публикаций
+ rosreestr). См. SCRAPE_NSPD_CRON.
+
+ {trigger.data.task_id}
+ {" "}
+ · регион {trigger.data.region_code}
+ {trigger.data.limit ? ` · limit=${trigger.data.limit}` : ""} · rate=
+ {trigger.data.rate_ms}мс
+ + Введите Admin Token выше. +
+ ) : coverage.isLoading ? ( +Загрузка…
+ ) : coverage.isError ? ( +Ошибка: {String(coverage.error)}
+ ) : coverage.data ? ( ++ Введите Admin Token чтобы видеть лог. +
+ ) : logs.isLoading ? ( +Загрузка…
+ ) : logs.isError ? ( +Ошибка: {String(logs.error)}
+ ) : (logs.data?.length ?? 0) === 0 ? ( ++ Нет событий{logsRunId !== "" ? ` для run_id=${logsRunId}` : ""}. +
+ ) : ( ++ Введите Admin Token чтобы увидеть журнал. +
+ ) : runs.isLoading ? ( +Загрузка…
+ ) : runs.isError ? ( +Ошибка: {String(runs.error)}
+ ) : ( +| + {h} + | + ))} +||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {r.run_id} | ++ {r.started_at?.slice(0, 19).replace("T", " ")} + | ++ {r.heartbeat_at ? r.heartbeat_at.slice(11, 19) : "—"} + | ++ {r.status} + | +
+ {r.pending_count && r.pending_count > 0
+ ? (() => {
+ const pct = Math.min(
+ 100,
+ Math.round(
+ ((r.quarters_ok + r.quarters_failed) /
+ r.pending_count) *
+ 100,
+ ),
+ );
+ return (
+
+
+
+ );
+ })()
+ : "—"}
+ 0
+ ? "#1d4ed8"
+ : "#9a6700",
+ }}
+ />
+
+ {pct}%
+ |
+ {r.pending_count ?? "—"} | +{r.quarters_ok} | +0 ? "#b3261e" : undefined, + }} + > + {r.quarters_failed} + | +{r.buildings_ok} | +{r.requests_count} | +0 ? "#b3261e" : undefined, + }} + > + {r.waf_429_count} + | +{r.triggered_by} | ++ {r.error ?? ""} + | +