async function waitForClamD()

in cloudrun-malware-scanner/server.ts [172:189]


async function waitForClamD(scanner: Scanner): Promise<void> {
  const timeoutMins = 10;
  const endTime = Date.now() + timeoutMins * 60 * 1000;

  logger.info('Waiting for Clamd');
  while (Date.now() < endTime) {
    try {
      const version = await scanner.getClamVersion();
      logger.info(`Clamd started with version ${version}`);
      return;
    } catch (e) {
      logger.warn(`Waiting for clamd to start: ${e as Error}`);
    }
    await setTimeout(10000);
  }
  logger.fatal(`Clamd not started after ${timeoutMins} mins`);
  process.exit(1);
}