jgrusewski
ad5b9dcc28
fix(ingest): date-resume all bybit per-symbol ingests so funding/oi/long_ratio/worst_basis advance nightly
...
The spot fix introduced `last_day_by_symbol` date-resume, but the sibling bybit ingests still used the
OLD symbol-skip resume ("resuming: N already done, M to go"): once a symbol carried ANY row of a feature
it was never fetched again, so the feature froze at the last ingest. funding stuck at 2026-06-23 froze
`xvenue_carry_nav` (it reads bybit_features funding) at 0d; open_interest/long_ratio/worst_basis lagged.
Extract a shared `resume_floor_ms(last_day, symbol, default_start_ms)` primitive (bybit_concurrency) and
apply it to `ingest_bybit_funding`, `ingest_bybit_oi`, `ingest_bybit_long_short`, and
`ingest_bybit_worst_basis`: each symbol now resumes from its last persisted day for ITS feature (the
adapter's backward-pagination floor), so done symbols are re-fetched only from their last day forward
(advancing them; the idempotent upsert overwrites the boundary day in place) and fresh symbols back-fill
from the caller's start_ms. Nothing is symbol-skipped → every feature advances each run. Refactored
`ingest_bybit_spot` onto the same shared primitive. deribit_funding already re-fetches all (no skip) — left
as-is. The perp `close`/`turnover` leg of `ingest_bybit_klines` keeps its symbol-skip resume (out of scope).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 11:29:35 +02:00
..
2026-06-18 09:09:01 +02:00
2026-06-18 23:54:17 +02:00
2026-06-27 12:06:50 +02:00
2026-06-18 18:39:24 +02:00
2026-06-18 18:39:24 +02:00
2026-06-19 00:22:46 +02:00
2026-06-19 00:18:14 +02:00
2026-06-19 08:12:51 +02:00
2026-06-19 23:16:17 +02:00
2026-06-26 14:44:30 +02:00
2026-06-24 14:12:22 +02:00
2026-06-24 14:39:12 +02:00
2026-06-27 09:49:37 +02:00
2026-06-23 23:31:11 +02:00
2026-06-23 20:15:56 +02:00
2026-06-24 08:29:30 +02:00
2026-06-24 18:10:36 +02:00
2026-06-24 08:48:33 +02:00
2026-06-28 11:29:35 +02:00
2026-06-28 11:29:35 +02:00
2026-06-23 22:45:14 +02:00
2026-06-23 19:53:43 +02:00
2026-06-23 23:31:11 +02:00
2026-06-24 14:12:22 +02:00
2026-06-24 19:05:07 +02:00
2026-06-24 11:46:40 +02:00
2026-06-23 23:31:11 +02:00
2026-06-23 23:31:11 +02:00
2026-06-25 18:20:52 +02:00
2026-06-23 23:31:11 +02:00
2026-06-28 11:29:35 +02:00
2026-06-26 22:18:09 +02:00
2026-06-24 19:05:07 +02:00
2026-06-24 19:05:07 +02:00
2026-06-28 11:29:35 +02:00
2026-06-24 19:05:07 +02:00
2026-06-24 16:54:38 +02:00
2026-06-25 21:38:26 +02:00
2026-06-25 21:38:26 +02:00
2026-06-25 16:32:53 +02:00
2026-06-27 00:50:34 +02:00
2026-06-26 00:46:10 +02:00
2026-06-25 16:32:53 +02:00
2026-06-24 17:53:52 +02:00
2026-06-24 14:12:22 +02:00
2026-06-24 15:00:48 +02:00
2026-06-27 09:18:52 +02:00
2026-06-25 01:39:07 +02:00
2026-06-24 08:29:30 +02:00
2026-06-24 13:05:37 +02:00
2026-06-26 22:46:40 +02:00
2026-06-24 08:29:30 +02:00
2026-06-28 11:29:35 +02:00
2026-06-24 13:49:08 +02:00
2026-06-24 18:38:57 +02:00
2026-06-26 08:44:28 +02:00
2026-06-15 11:16:25 +02:00
2026-06-27 09:18:52 +02:00
2026-06-25 22:25:08 +02:00
2026-06-26 00:40:12 +02:00
2026-06-24 22:24:56 +02:00
2026-06-14 17:39:29 +02:00
2026-06-19 19:38:19 +02:00
2026-06-22 12:23:33 +02:00
2026-06-25 23:16:18 +02:00
2026-06-18 23:02:00 +02:00
2026-06-22 15:00:00 +02:00
2026-06-20 22:53:03 +02:00
2026-06-23 10:53:15 +02:00
2026-06-26 15:58:16 +02:00
2026-06-24 23:01:58 +02:00
2026-06-26 11:53:28 +02:00
2026-06-13 09:35:18 +02:00
2026-06-14 23:40:56 +02:00
2026-06-24 19:44:25 +02:00
2026-06-18 10:16:27 +02:00
2026-06-18 18:48:41 +02:00
2026-06-16 22:27:26 +02:00
2026-06-09 13:52:32 +02:00
2026-06-13 02:01:04 +02:00
2026-06-14 12:30:07 +02:00
2026-06-26 00:46:10 +02:00
2026-06-26 00:46:10 +02:00
2026-06-19 23:22:15 +02:00
2026-06-19 20:11:02 +02:00
2026-06-26 15:29:19 +02:00
2026-06-22 12:31:37 +02:00
2026-06-17 01:37:29 +02:00
2026-06-23 13:38:51 +02:00
2026-06-16 08:38:29 +02:00
2026-06-26 20:48:07 +02:00
2026-06-15 11:40:39 +02:00
2026-06-25 16:32:53 +02:00
2026-06-27 16:12:37 +02:00
2026-06-23 19:32:08 +02:00
2026-06-23 19:32:08 +02:00
2026-06-22 10:17:46 +02:00
2026-06-22 10:05:21 +02:00
2026-06-22 22:11:11 +02:00
2026-06-22 17:00:42 +02:00
2026-06-22 09:59:02 +02:00
2026-06-26 09:59:13 +02:00
2026-06-21 21:06:51 +02:00
2026-06-25 16:32:53 +02:00
2026-06-21 21:19:59 +02:00
2026-06-22 08:15:31 +02:00
2026-06-27 10:56:27 +02:00
2026-06-21 23:39:40 +02:00
2026-06-23 18:36:26 +02:00
2026-06-23 15:44:16 +02:00
2026-06-18 20:56:50 +02:00
2026-06-22 10:11:39 +02:00
2026-06-26 09:25:27 +02:00
2026-06-09 16:22:59 +02:00
2026-06-26 00:46:10 +02:00
2026-06-24 18:20:11 +02:00
2026-06-09 12:21:47 +02:00
2026-06-27 09:18:52 +02:00
2026-06-25 10:39:42 +02:00
2026-06-22 15:25:22 +02:00
2026-06-26 12:16:10 +02:00
2026-06-26 11:35:58 +02:00
2026-06-26 12:57:18 +02:00
2026-06-23 01:17:38 +02:00
2026-06-21 10:22:43 +02:00
2026-06-16 08:50:25 +02:00
2026-06-16 17:35:51 +02:00
2026-06-16 17:45:46 +02:00
2026-06-23 22:04:43 +02:00
2026-06-26 00:32:46 +02:00
2026-06-19 20:11:02 +02:00
2026-06-23 01:17:38 +02:00
2026-06-21 00:38:12 +02:00
2026-06-24 09:34:45 +02:00
2026-06-24 09:34:45 +02:00
2026-06-24 09:34:45 +02:00
2026-06-20 20:21:20 +02:00
2026-06-21 22:23:51 +02:00
2026-06-24 20:40:09 +02:00
2026-06-24 20:01:34 +02:00
2026-06-15 19:20:30 +02:00
2026-06-26 00:32:46 +02:00
2026-06-15 00:34:55 +02:00
2026-06-23 16:33:25 +02:00
2026-06-27 14:30:54 +02:00
2026-06-23 22:34:13 +02:00
2026-06-26 08:44:28 +02:00
2026-06-26 08:44:28 +02:00
2026-06-26 08:07:42 +02:00
2026-06-22 12:37:37 +02:00
2026-06-19 07:45:45 +02:00
2026-06-26 00:46:10 +02:00