INNER CODE UNIT · TypeScript

deadline

PerryTS/perry · example-code/forgejo-deployment/main.ts:119

  const deadline = Date.now() + timeoutMs;
  let attempt = 0;
  while (Date.now() < deadline) {
    attempt++;
    try {
      await exec(stack, 'db', [
        'pg_isready', '-U', 'forgejo', '-d', 'forgejo', '-h', 'localhost',
      ]);
      return true;
    } catch (_e) {
      // pg_isready exits non-zero while server initialises; retry every 1s.
      await new Promise((r) => setTimeout(r, 1000));
    }
  }
  console.error(`   pg_isready never succeeded after ${attempt} attempts`);
  return false;
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…