Feature/wrap logging * feat: change all logging to go through our own logger function so that we can control log levels * move packages/trpc to using our own logger * merge Approved-by: Linus Flood
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
|
|
|
|
import type { Lang } from "@scandic-hotels/common/constants/language"
|
|
|
|
export async function warmupHotelDataOnLang(lang: Lang) {
|
|
const warmupHotelDataOnLangLogger = createLogger("warmupHotelDataOnLang")
|
|
const PUBLIC_URL = Netlify.env.get("PUBLIC_URL")
|
|
|
|
warmupHotelDataOnLangLogger.info(
|
|
`[WARMUP] Started warmup cache hoteldata for language ${lang} at: ${new Date().toISOString()}!`
|
|
)
|
|
|
|
try {
|
|
const hotelsResponse = await fetch(
|
|
`${PUBLIC_URL}/api/hoteldata?lang=${lang}`,
|
|
{
|
|
headers: { cache: "no-store" },
|
|
signal: AbortSignal.timeout(30_000),
|
|
}
|
|
)
|
|
|
|
if (!hotelsResponse.ok) {
|
|
throw new Error(
|
|
`[WARMUP] Failed to warmup cache for hotels on language ${lang} with error: ${hotelsResponse.statusText}`
|
|
)
|
|
}
|
|
|
|
const hotels = await hotelsResponse.json()
|
|
warmupHotelDataOnLangLogger.info(
|
|
`[WARMUP] Retrieved ${hotels.length} hotels.`
|
|
)
|
|
} catch (error) {
|
|
warmupHotelDataOnLangLogger.error(
|
|
`[WARMUP] Error warming cache with hoteldata on language ${lang} with error: ${error}`
|
|
)
|
|
}
|
|
}
|