Skip to content

Update FAQ Hybrid application Docs to clarify bootstrap order #2485

Open
@haimprecise

Description

@haimprecise

Is there an existing issue that is already proposing this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe it

When utilizing onApplicationBootstrap / onModuleInit and consuming app's functionality inside Microservices, it is important to clarify that the order of the bootstrap lines plays an essential role:

For example:

await app.startAllMicroservices();
await app.listen(3001);

The lifecycle events will complete after the microservices have started.

await app.listen(3001);
await app.startAllMicroservices();

The lifecycle events will complete before the microservices have started.

We had a bug when our application started and a microservice was immediately consumed, before our Promises from modules' OnModuleInit functions have finished.

Describe the solution you'd like

  1. Explain that lifecycle events happen when you call listen and not create
  2. Explain that the order of startAllMicroservices and listen is crucial

Teachability, documentation, adoption, migration strategy

Update the Lifecycle and Hybrid Application pages

What is the motivation / use case for changing the behavior?

To educate developers and to avoid future bugs. I had to debug your code to figure these things out...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions