@thru/indexer 0.2.34 → 0.2.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -924,7 +924,6 @@ var Indexer = class {
924
924
  logLevel: "info",
925
925
  supervisorInitialBackoffMs: 1e3,
926
926
  supervisorMaxBackoffMs: 3e4,
927
- streamStaleMs: 3e5,
928
927
  ...config
929
928
  };
930
929
  this.logger = createScopedLogger({
@@ -1082,7 +1081,7 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1082
1081
  stream.stale = this.isStreamStale(stream, now);
1083
1082
  return stream;
1084
1083
  });
1085
- const healthy = this.running && !this.shutdownRequested && streams.length > 0 && streams.every((stream) => stream.state === "running" && !stream.stale);
1084
+ const healthy = this.running && !this.shutdownRequested && streams.length > 0 && streams.every((stream) => stream.state === "running");
1086
1085
  this.emitHealthTransitions(streams, now);
1087
1086
  return {
1088
1087
  running: this.running,
@@ -1173,7 +1172,7 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1173
1172
  }
1174
1173
  for (const stream of streams) {
1175
1174
  const key = this.statusKey(stream.kind, stream.name);
1176
- const unhealthy = stream.state !== "running" || stream.stale;
1175
+ const unhealthy = stream.state !== "running";
1177
1176
  const previous = this.streamHealthStates.get(key);
1178
1177
  const initialStarting = !previous && stream.state === "starting" && stream.restartCount === 0 && !stream.lastError;
1179
1178
  if (initialStarting) {
@@ -1190,7 +1189,7 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1190
1189
  });
1191
1190
  this.logger.warn("Indexer stream unhealthy", {
1192
1191
  event: "indexer.stream.unhealthy",
1193
- reason: stream.stale ? "stale" : "state",
1192
+ reason: stream.stale ? "state_while_stale" : "state",
1194
1193
  ...this.streamLogFields(stream)
1195
1194
  });
1196
1195
  continue;
@@ -1298,10 +1297,11 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1298
1297
  const status = this.statusFor(kind, name);
1299
1298
  while (!this.abortController?.signal.aborted) {
1300
1299
  const observer = this.createObserver(kind, name, options.endpointLabel);
1300
+ const runStartedAtMs = Date.now();
1301
1301
  this.setStreamState(status, attempt === 0 ? "starting" : "retrying", {
1302
1302
  attempt
1303
1303
  });
1304
- status.lastStartedAt = (/* @__PURE__ */ new Date()).toISOString();
1304
+ status.lastStartedAt = new Date(runStartedAtMs).toISOString();
1305
1305
  try {
1306
1306
  const summary = await runOnce(observer);
1307
1307
  if (this.abortController?.signal.aborted) {
@@ -1328,6 +1328,9 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1328
1328
  endpointLabel: options.endpointLabel
1329
1329
  });
1330
1330
  }
1331
+ if (Date.now() - runStartedAtMs >= options.maxBackoffMs) {
1332
+ attempt = 0;
1333
+ }
1331
1334
  const backoffMs = this.supervisorBackoffMs(attempt, options.initialBackoffMs, options.maxBackoffMs);
1332
1335
  this.logger.warn("Indexer stream supervisor restarting", {
1333
1336
  event: "indexer.stream.supervisor_restart",
@@ -1351,8 +1354,8 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1351
1354
  return base + jitter;
1352
1355
  }
1353
1356
  isStreamStale(stream, nowMs) {
1354
- const staleMs = this.config.streamStaleMs ?? 3e5;
1355
- if (staleMs <= 0 || stream.state !== "running") {
1357
+ const staleMs = this.config.streamStaleMs;
1358
+ if (staleMs === void 0 || staleMs <= 0 || stream.state !== "running") {
1356
1359
  return false;
1357
1360
  }
1358
1361
  const activityAt = stream.lastEventAt ?? stream.lastStartedAt;