diff options
Diffstat (limited to '')
-rw-r--r-- | test/python/threading/asgi.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/python/threading/asgi.py b/test/python/threading/asgi.py new file mode 100644 index 00000000..3c978e50 --- /dev/null +++ b/test/python/threading/asgi.py @@ -0,0 +1,42 @@ +import asyncio +import sys +import time +import threading + + +class Foo(threading.Thread): + num = 10 + + def __init__(self, x): + self.__x = x + threading.Thread.__init__(self) + + def log_index(self, index): + sys.stderr.write( + "(" + str(index) + ") Thread: " + str(self.__x) + "\n" + ) + sys.stderr.flush() + + def run(self): + i = 0 + for _ in range(3): + self.log_index(i) + i += 1 + time.sleep(1) + self.log_index(i) + i += 1 + + +async def application(scope, receive, send): + assert scope['type'] == 'http' + + Foo(Foo.num).start() + Foo.num += 10 + + await send({ + 'type': 'http.response.start', + 'status': 200, + 'headers': [ + (b'content-length', b'0'), + ] + }) |