INNER CODE UNIT · TypeScript

waitForShutdown

oomol-lab/open-connector · src/server/index.ts:182

function waitForShutdown(server: ServerType, runtime: ConnectorRuntime): Promise<void> {
  return new Promise((resolve, reject) => {
    let closing = false;
    const shutdown = (): void => {
      if (closing) {
        return;
      }
      closing = true;
      // Stop accepting requests and abort connector work together so an active provider call cannot hold shutdown open.
      const closed = new Promise<void>((done, fail) => server.close((error) => (error ? fail(error) : done())));
      void Promise.all([closed, runtime.close()]).then(
        () => finish(),
        (error) => finish(error),
      );
      function finish(error?: unknown): void {
        process.removeListener("SIGINT", shutdown);
        process.removeListener("SIGTERM", shutdown);
        if (error) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…