Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: ensure that shutdown works in loaderOnly mode #6893

Merged
merged 3 commits into from
Apr 1, 2024

Conversation

srindom
Copy link
Collaborator

@srindom srindom commented Apr 1, 2024

No description provided.

@srindom srindom requested a review from a team as a code owner April 1, 2024 09:00
Copy link

changeset-bot bot commented Apr 1, 2024

⚠️ No Changeset found

Latest commit: 8aee97b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

vercel bot commented Apr 1, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
medusa-dashboard ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 1, 2024 1:45pm
3 Ignored Deployments
Name Status Preview Comments Updated (UTC)
api-reference ⬜️ Ignored (Inspect) Apr 1, 2024 1:45pm
docs-ui ⬜️ Ignored (Inspect) Visit Preview Apr 1, 2024 1:45pm
medusa-docs ⬜️ Ignored (Inspect) Visit Preview Apr 1, 2024 1:45pm

@@ -262,14 +264,13 @@ export class MedusaModule {
let finishLoading: any
let errorLoading: any

const loadingPromise = new Promise((resolve, reject) => {
Copy link
Member

@sradevski sradevski Apr 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are in an async function, can't we just return or throw instead of this pattern? I guess we want to allow others to be able to wait on a module to get loaded, it just feels like there is a better way to achieve it 😄

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This prevents the same module being initialized multiple times while loading, like if you load it in a lambda handler and that is called multiple times in concurrency.
There isn't any other way to achieve this in a single process other than sharing a single Promise.

Copy link
Member

@sradevski sradevski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kodiakhq kodiakhq bot merged commit 2e914a5 into develop Apr 1, 2024
24 checks passed
@kodiakhq kodiakhq bot deleted the fix/loader-only-conn-shutdown branch April 1, 2024 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants