-
-
Notifications
You must be signed in to change notification settings - Fork 216
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
Migrate to Actix-web 4 #349
Comments
Seems like these steps could solve this, but there is still an unknown:
The above means that every single web request will be processed asynchronously by a different thread that initially handled it, and in theory this might result in some performance penalty. TBDMartin has some undocumented Actors sprinkled through out the code: |
I am confused about the actor things also when resolving #288 .
Is it resonable manage sources list in AppState without worker and coordinate? |
Apparently the only reason the lower-lever actors API was used was to support "real time configuration updates" -- in other words if the config changed, Martin would start serving new data immediately from all threads, at the same time. @stepankuzmin would have deeper insight, but at least that's what I understood. I would like to propose going back to the simpler high-level API, and remove all actors. This may result in some non-synchronous updating, where some threads would use older configuration. I do not believe this to be a big problem, because
Translation of the original notes by @stepankuzmin
Without these steps with sharing between actors, it may happen that one actor knows about the new data source, but not yet in another, and the client may receive 404 from actors who do not know about new sources. |
I like the idea of a simpler API. Watch mode intention is to improve the developer experience, i.e., live data reloading during local development. Unfortunately, this complicates the codebase and keeps us from moving forward. I agree to drop the watch mode altogether, but we should communicate that change to the users. |
Actix has made a number of structural/async changes that might require some structural rethinking.
The text was updated successfully, but these errors were encountered: