mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 01:12:56 +03:00
c52bfc540d
This is the result of a general audit of how we fork threads, with a detour into how we're using mutable state especially in websocket codepaths, making more robust to async exceptions and exceptions resulting from bugs. Some highlights: - use a wrapper around 'immortal' so threads that die due to bugs are restarted, and log the error - use 'withAsync' some places - use bracket a few places where we might break invariants - log some codepaths that represent bugs - export UnstructuredLog for ad hoc logging (the alternative is we continue not logging useful stuff) I had to timebox this. There are a few TODOs I didn't want to address. And we'll wait until this is merged to attempt #3705 for Control.Concurrent.Extended |
||
---|---|---|
.. | ||
packaging | ||
src-bench-cache | ||
src-exec | ||
src-lib | ||
src-rsr | ||
src-test | ||
tests-py | ||
.dockerignore | ||
.gitignore | ||
.stylish-haskell.yaml | ||
cabal.project | ||
cabal.project.ci | ||
cabal.project.dev | ||
cabal.project.dev-sh | ||
cabal.project.dev-sh.freeze | ||
cabal.project.dev-sh.local | ||
cabal.project.freeze | ||
CONTRIBUTING.md | ||
graphql-engine.cabal | ||
Makefile | ||
Setup.hs |