Django Channels based WebSocket GraphQL server with Graphene-like subscriptions
MIT License
Bot releases are visible (Hide)
Published by prokher 3 months ago
Supported the most recent WebSocket sub-protocol graphql-transport-ws
used by Apollo. See the specification https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md.
sync_to_async(...,thread_sensitive=False)
.Published by prokher over 1 year ago
WARNING: Release contains backward incompatible changes!
None
from the subscription resolver. Previously it was necessary to return special SKIP
object which is no longer the case..Published by prokher over 1 year ago
GraphqlWsConsumer.warn_resolver_timeout
removed to avoid mess with user specified middlewares. This functionality can easily be implemented on the library user level by creating a designated middleware.GraphqlWsConsumer.middleware
accepts an instance of graphql.MiddlewareManager
or the list of functions. Same as the argument middleware
of graphql.execute
method.Published by prokher over 1 year ago
graphql-core
library.Published by prokher over 1 year ago
Broken support of previous Python version brought back.
Published by prokher over 1 year ago
GraphqlWsConsumer.warn_operation_timeout
and GraphqlWsConsumer.warn_resolver_timeout
allow to tune the timeout or even disable the warning at all.Published by stmarkevich over 2 years ago
Published by sergey-komissarov about 3 years ago
Published by prokher about 4 years ago
Client method 'execute' consumes 'complete' message in case of error.
Quadratic growth of threads number has stopped. The problem was observer on Python 3.6 and 3.7 and was not on 3.8, because starting with 3.8 ThreadPoolExecutor
does not spawn new thread if there are idle threads in the pool already. The issue was in the fact that for each of worker thread we run an event loop which default executor is the ThreadPoolExecutor
with default (by Python) number of threads. All this eventually ended up in hundreds of thread created for each GraphqlWsConsumer
subclass.
msgpack v1.*
in the dependencies requirements.README.md
.graphql-core
version lock, it is hold by graphene
anyway.Published by prokher over 4 years ago
README.md
added.