fix(api): prevent startup failure from meilisearch outage
This commit is contained in:
parent
868ddecda4
commit
f964a4eabb
@ -90,10 +90,17 @@ export function createInitializer(config: APIConfig, logger: ILogger): () => Pro
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.info({search_url: config.search.url}, 'Initializing search...');
|
logger.info({search_url: config.search.url}, 'Initializing search...');
|
||||||
|
let searchInitialized = false;
|
||||||
|
try {
|
||||||
await initializeSearch();
|
await initializeSearch();
|
||||||
|
searchInitialized = true;
|
||||||
logger.info('Search initialized');
|
logger.info('Search initialized');
|
||||||
|
} catch (error) {
|
||||||
|
logger.warn({error}, 'Search initialisation failed; continuing startup without search');
|
||||||
|
}
|
||||||
|
|
||||||
// All API replicas share the same Meilisearch cluster, so only one should warm it.
|
// All API replicas share the same Meilisearch cluster, so only one should warm it.
|
||||||
|
if (searchInitialized) {
|
||||||
const warmupLockKey = 'fluxer:search:warmup:admin';
|
const warmupLockKey = 'fluxer:search:warmup:admin';
|
||||||
const warmupLockToken = randomUUID();
|
const warmupLockToken = randomUUID();
|
||||||
const warmupLockTtlSeconds = 60 * 60;
|
const warmupLockTtlSeconds = 60 * 60;
|
||||||
@ -118,6 +125,7 @@ export function createInitializer(config: APIConfig, logger: ILogger): () => Pro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (config.voice.enabled && config.voice.defaultRegion) {
|
if (config.voice.enabled && config.voice.defaultRegion) {
|
||||||
const voiceDataInitializer = new VoiceDataInitializer();
|
const voiceDataInitializer = new VoiceDataInitializer();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user