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

**What**
prepare shutdown was called after modules shutdown
This commit is contained in:
Adrien de Peretti authored and GitHub committed 2024-05-24 12:38:37 +00:00
1 parent 98808b6caa
commit 16651f9849
1 file changed
+13 -13
+13 -13
View File
@@ -53,8 +53,10 @@ async function subscribersLoader(
ignore: ["**/*.d.ts", "**/*.map"], ignore: ["**/*.d.ts", "**/*.map"],
} }
) )
return Promise.all( return await Promise.all(
files.map(async (file) => new SubscriberLoader(file, container).load()) files.map(
async (file) => await new SubscriberLoader(file, container).load()
)
) )
}) })
) )
@@ -124,7 +126,6 @@ export default async ({
container: MedusaContainer container: MedusaContainer
app: Express app: Express
shutdown: () => Promise<void> shutdown: () => Promise<void>
prepareShutdown: () => Promise<void>
}> => { }> => {
const container = await initializeContainer(rootDirectory) const container = await initializeContainer(rootDirectory)
const configModule = container.resolve( const configModule = container.resolve(
@@ -134,13 +135,12 @@ export default async ({
const plugins = getResolvedPlugins(rootDirectory, configModule, true) || [] const plugins = getResolvedPlugins(rootDirectory, configModule, true) || []
await registerWorkflows(plugins) await registerWorkflows(plugins)
const { const pluginLinks = await resolvePluginsLinks(plugins, container)
onApplicationShutdown: medusaAppOnApplicationShutdown, const { onApplicationShutdown, onApplicationPrepareShutdown } =
onApplicationPrepareShutdown: medusaAppOnApplicationPrepareShutdown, await loadMedusaApp({
} = await loadMedusaApp({ container,
container, linkModules: pluginLinks,
linkModules: await resolvePluginsLinks(plugins, container), })
})
const entrypointsShutdown = await loadEntrypoints( const entrypointsShutdown = await loadEntrypoints(
plugins, plugins,
@@ -154,13 +154,14 @@ export default async ({
const pgConnection = container.resolve( const pgConnection = container.resolve(
ContainerRegistrationKeys.PG_CONNECTION ContainerRegistrationKeys.PG_CONNECTION
) )
await medusaAppOnApplicationShutdown()
await onApplicationPrepareShutdown()
await onApplicationShutdown()
await promiseAll([ await promiseAll([
container.dispose(), container.dispose(),
pgConnection?.context?.destroy(), pgConnection?.context?.destroy(),
entrypointsShutdown(), entrypointsShutdown(),
medusaAppOnApplicationShutdown(),
]) ])
} }
@@ -168,6 +169,5 @@ export default async ({
container, container,
app: expressApp, app: expressApp,
shutdown, shutdown,
prepareShutdown: medusaAppOnApplicationPrepareShutdown,
} }
} }