From 69e17e27778b591ce2e821825ea177f121c197aa Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 4 Jan 2024 14:39:41 +0100 Subject: [PATCH] Filter instance in bulk --- config/test.yaml | 1 + server/lib/meilisearch/meilisearch-instances.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/test.yaml b/config/test.yaml index 469d547..3c954f2 100644 --- a/config/test.yaml +++ b/config/test.yaml @@ -29,6 +29,7 @@ instances-index: - 'replay.jres.org' - 'tube.nah.re' - 'video.passageenseine.fr' + - 'peertube.luga.at' api: blacklist: diff --git a/server/lib/meilisearch/meilisearch-instances.ts b/server/lib/meilisearch/meilisearch-instances.ts index efaa4bf..a13cad1 100644 --- a/server/lib/meilisearch/meilisearch-instances.ts +++ b/server/lib/meilisearch/meilisearch-instances.ts @@ -2,6 +2,7 @@ import { CONFIG } from '../../initializers/constants' import { listIndexInstancesHost, getMajorInstanceVersion } from '../requests/instances-index' import { client } from '../../helpers/meilisearch' import { logger } from '../../helpers/logger' +import Bluebird from 'bluebird' async function buildInstanceHosts () { let indexHosts = await listIndexInstancesHost() @@ -14,15 +15,17 @@ async function buildInstanceHosts () { indexHosts = indexHosts.filter(h => whitelistHosts.includes(h)) } - for (const indexHost of indexHosts) { + indexHosts = await Bluebird.filter(indexHosts, async indexHost => { const instanceVersion = await getMajorInstanceVersion(indexHost) if (instanceVersion < 4) { logger.info(`Do not index ${indexHost} because the major version is too low (v${instanceVersion} < v4)`) - indexHosts = indexHosts.filter(h => h !== indexHost) + return false } - } + + return true + }, { concurrency: 10 }) const dbHosts = await listDBInstances() const removedHosts = getRemovedHosts(dbHosts, indexHosts)