AlecAivazis / graphql-over-kafka

A framework for building event-driven microservice applications in python
MIT License
19 stars 3 forks source link

Re-implement basic service using an async framework #49

Closed AlecAivazis closed 8 years ago

AlecAivazis commented 8 years ago

It's becoming very clear that the synchronous nature of Flask is getting in the way. Already, we have 3 different tasks that services have to do concurrently: respond to http, handle amqp messages, and maintain health checks. This has resulted in thread hacks in a few different places.

Because of this, I am working on refactoring the basic service to [Tornado]() which seems more suitable for cooperative-multitasking and frees us from a lot of headaches. This refactor will start off version 0.4.0 and takes care of a few different issues like #31 and #2 and also enables support for #29.

Unfortunately, nautilus has been relying on the flask and its community for various bits of support. Moving away will likely mean rewriting a large portion of nautilus internals. All of the work on this refactor is being done in the tornado branch. I'll try to track my progress below: