@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.mjs CHANGED
@@ -922,7 +922,6 @@ var Indexer = class {
922
922
  logLevel: "info",
923
923
  supervisorInitialBackoffMs: 1e3,
924
924
  supervisorMaxBackoffMs: 3e4,
925
- streamStaleMs: 3e5,
926
925
  ...config
927
926
  };
928
927
  this.logger = createScopedLogger({
@@ -1080,7 +1079,7 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1080
1079
  stream.stale = this.isStreamStale(stream, now);
1081
1080
  return stream;
1082
1081
  });
1083
- const healthy = this.running && !this.shutdownRequested && streams.length > 0 && streams.every((stream) => stream.state === "running" && !stream.stale);
1082
+ const healthy = this.running && !this.shutdownRequested && streams.length > 0 && streams.every((stream) => stream.state === "running");
1084
1083
  this.emitHealthTransitions(streams, now);
1085
1084
  return {
1086
1085
  running: this.running,
@@ -1171,7 +1170,7 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1171
1170
  }
1172
1171
  for (const stream of streams) {
1173
1172
  const key = this.statusKey(stream.kind, stream.name);
1174
- const unhealthy = stream.state !== "running" || stream.stale;
1173
+ const unhealthy = stream.state !== "running";
1175
1174
  const previous = this.streamHealthStates.get(key);
1176
1175
  const initialStarting = !previous && stream.state === "starting" && stream.restartCount === 0 && !stream.lastError;
1177
1176
  if (initialStarting) {
@@ -1188,7 +1187,7 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1188
1187
  });
1189
1188
  this.logger.warn("Indexer stream unhealthy", {
1190
1189
  event: "indexer.stream.unhealthy",
1191
- reason: stream.stale ? "stale" : "state",
1190
+ reason: stream.stale ? "state_while_stale" : "state",
1192
1191
  ...this.streamLogFields(stream)
1193
1192
  });
1194
1193
  continue;
@@ -1296,10 +1295,11 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1296
1295
  const status = this.statusFor(kind, name);
1297
1296
  while (!this.abortController?.signal.aborted) {
1298
1297
  const observer = this.createObserver(kind, name, options.endpointLabel);
1298
+ const runStartedAtMs = Date.now();
1299
1299
  this.setStreamState(status, attempt === 0 ? "starting" : "retrying", {
1300
1300
  attempt
1301
1301
  });
1302
- status.lastStartedAt = (/* @__PURE__ */ new Date()).toISOString();
1302
+ status.lastStartedAt = new Date(runStartedAtMs).toISOString();
1303
1303
  try {
1304
1304
  const summary = await runOnce(observer);
1305
1305
  if (this.abortController?.signal.aborted) {
@@ -1326,6 +1326,9 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1326
1326
  endpointLabel: options.endpointLabel
1327
1327
  });
1328
1328
  }
1329
+ if (Date.now() - runStartedAtMs >= options.maxBackoffMs) {
1330
+ attempt = 0;
1331
+ }
1329
1332
  const backoffMs = this.supervisorBackoffMs(attempt, options.initialBackoffMs, options.maxBackoffMs);
1330
1333
  this.logger.warn("Indexer stream supervisor restarting", {
1331
1334
  event: "indexer.stream.supervisor_restart",
@@ -1349,8 +1352,8 @@ Then run: pnpm drizzle-kit push (or generate + migrate)
1349
1352
  return base + jitter;
1350
1353
  }
1351
1354
  isStreamStale(stream, nowMs) {
1352
- const staleMs = this.config.streamStaleMs ?? 3e5;
1353
- if (staleMs <= 0 || stream.state !== "running") {
1355
+ const staleMs = this.config.streamStaleMs;
1356
+ if (staleMs === void 0 || staleMs <= 0 || stream.state !== "running") {
1354
1357
  return false;
1355
1358
  }
1356
1359
  const activityAt = stream.lastEventAt ?? stream.lastStartedAt;