chore(medusa): Loader shutdown fixes (#7443)

**What**
prepare shutdown was called after modules shutdown
This commit is contained in:
Adrien de Peretti
2024-05-24 14:38:37 +02:00
committed by GitHub
parent 98808b6caa
commit 16651f9849

View File

@@ -53,8 +53,10 @@ async function subscribersLoader(
ignore: ["**/*.d.ts", "**/*.map"],
}
)
return Promise.all(
files.map(async (file) => new SubscriberLoader(file, container).load())
return await Promise.all(
files.map(
async (file) => await new SubscriberLoader(file, container).load()
)
)
})
)
@@ -124,7 +126,6 @@ export default async ({
container: MedusaContainer
app: Express
shutdown: () => Promise<void>
prepareShutdown: () => Promise<void>
}> => {
const container = await initializeContainer(rootDirectory)
const configModule = container.resolve(
@@ -134,13 +135,12 @@ export default async ({
const plugins = getResolvedPlugins(rootDirectory, configModule, true) || []
await registerWorkflows(plugins)
const {
onApplicationShutdown: medusaAppOnApplicationShutdown,
onApplicationPrepareShutdown: medusaAppOnApplicationPrepareShutdown,
} = await loadMedusaApp({
container,
linkModules: await resolvePluginsLinks(plugins, container),
})
const pluginLinks = await resolvePluginsLinks(plugins, container)
const { onApplicationShutdown, onApplicationPrepareShutdown } =
await loadMedusaApp({
container,
linkModules: pluginLinks,
})
const entrypointsShutdown = await loadEntrypoints(
plugins,
@@ -154,13 +154,14 @@ export default async ({
const pgConnection = container.resolve(
ContainerRegistrationKeys.PG_CONNECTION
)
await medusaAppOnApplicationShutdown()
await onApplicationPrepareShutdown()
await onApplicationShutdown()
await promiseAll([
container.dispose(),
pgConnection?.context?.destroy(),
entrypointsShutdown(),
medusaAppOnApplicationShutdown(),
])
}
@@ -168,6 +169,5 @@ export default async ({
container,
app: expressApp,
shutdown,
prepareShutdown: medusaAppOnApplicationPrepareShutdown,
}
}