Giter VIP home page Giter VIP logo

Comments (12)

michaelstaib avatar michaelstaib commented on July 22, 2024 1

Form the GraphQL side you need to implement an ITypeModule ... this will manage the phase out of schemas...

Here you can see an example.
https://github.com/ChilliCream/graphql-platform/blob/13349fa4af03514507ed5e3aaf9a771c696b56a6/src/HotChocolate/Fusion/src/Core/DependencyInjection/FileWatcherTypeModule.cs

The TypeModule is registered with the schema.

from data-api-builder.

seantleonard avatar seantleonard commented on July 22, 2024

can this be closed with #50 merged? @JelteF

from data-api-builder.

JelteF avatar JelteF commented on July 22, 2024

I don't think this should be closed, because it is about the more user facing version of hot roloading configs. One that does not require dotnet watch but simply run the binary with a --watch flag.

However, I don't think this should be an M0 milestone. Work on dev tooling team can start just fine without this support. So I'm marking this as M1 instead now. @jarupatj please comment on this if you disagree with that for some reason.

from data-api-builder.

Aniruddh25 avatar Aniruddh25 commented on July 22, 2024

Solving this #189 will help here.

from data-api-builder.

Aniruddh25 avatar Aniruddh25 commented on July 22, 2024

Should we support hot reloading at all? Once runtime is bootstrapped, should we allow modifications to it?
In M1, we might expect customers to restart the docker image.
For M2, we will throw away the container and use a different one from the warm pool whenever any config changes.

Moving to M2 for now so we can discuss more.

from data-api-builder.

aaronburtle avatar aaronburtle commented on July 22, 2024

Modified this issue to cove hot reloading of the configuration file. This will clear duplicate issues, which will all be tracked here.

from data-api-builder.

aaronburtle avatar aaronburtle commented on July 22, 2024

Would be great to have a switch on the CLI, something like --watch that will automatically reload the configuration file (and thus re-generate the in-memory schema) whenever the file is changed. Something like https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-watch

That would greatly improve development velocity.

from data-api-builder.

aaronburtle avatar aaronburtle commented on July 22, 2024

In order to set the LogLevel based on the mode in the runtimeconfig we need to use a configuration provider that can reload the configuration after updating the Loglevel.

More information can be found here: https://learn.microsoft.com/en-us/dotnet/core/extensions/logging?tabs=command-line

from data-api-builder.

aaronburtle avatar aaronburtle commented on July 22, 2024

Moved to April, waiting on new configuration resolver.

from data-api-builder.

seantleonard avatar seantleonard commented on July 22, 2024

hot-reload property in config?

from data-api-builder.

aaronburtle avatar aaronburtle commented on July 22, 2024

I have created a number of sub-tasks to help track the progress on Hot Reload.

Currently, we are refreshing the RuntimeConfig to match any updates that we see in the associated config file when we are in the local scenario and start the engine in developer mode.

To facilitate extending Hot Reload in the future, a refactor of the RuntimeConfigProvider is taking place

#1966

as well as some changes to make hot reload work with the new multi config code

#1967

Additionally, one of the key features we want support for hot reloading is reloading of the log-level, and so this property is being added to the config and we have a task to track being able to hot reload this property in both dev and production mode

#1968

Additionally, there are some tasks for updating those settings which depend on the config only at startup, such as the OpenApiDoc and Auth settings

#1869

#1969

from data-api-builder.

seantleonard avatar seantleonard commented on July 22, 2024

Moving this + hot reload related tasks to post GA -> tracking via 1.2rc milestone.

from data-api-builder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.