making restart upon signal TERM + vars()
This commit is contained in:
parent
3eb8f65872
commit
7e36b6a74d
3 changed files with 44 additions and 10 deletions
|
@ -10,11 +10,14 @@ services:
|
|||
# the websocket-server
|
||||
websocket-server:
|
||||
stop_grace_period: 1s
|
||||
restart: always
|
||||
environment:
|
||||
PYTHONUNBUFFERED: true
|
||||
build: 'websocket-server'
|
||||
expose:
|
||||
- 1080
|
||||
volumes:
|
||||
- ./websocket-server/entrypoint.py:/mnt/entrypoint.py
|
||||
# the client
|
||||
client-test-websocket:
|
||||
stop_grace_period: 1s
|
||||
|
|
|
@ -1,22 +1,36 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import asyncio
|
||||
|
||||
import signal
|
||||
import sys
|
||||
import json
|
||||
from websockets.asyncio.server import serve
|
||||
|
||||
connected_clients = set()
|
||||
|
||||
|
||||
def sigterm_handler(_signo, _stack_frame):
|
||||
# Raises SystemExit(0):
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
async def server(websocket):
|
||||
msg = await websocket.recv()
|
||||
print(f"IN : {msg}")
|
||||
|
||||
answer = f"echoing {msg}"
|
||||
|
||||
await websocket.send(answer)
|
||||
print(f"OUT: {answer}")
|
||||
print("the handler ist called",websocket.remote_address,"vars",json.dumps(websocket.__dict__,indent=4,default=lambda o: '<not serializable>'));
|
||||
# while True:
|
||||
# msg = await websocket.recv()
|
||||
# print(f"IN : {msg}")
|
||||
#
|
||||
# answer = f"echoing {msg}"
|
||||
#
|
||||
# await websocket.send(answer)
|
||||
# print(f"OUT: {answer}")
|
||||
|
||||
async def main():
|
||||
async with serve(server, "0.0.0.0", 1080):
|
||||
await asyncio.get_running_loop().create_future()
|
||||
|
||||
if __name__ == "__main__":
|
||||
signal.signal(signal.SIGTERM, sigterm_handler)
|
||||
print('AAAAANOWAAAsaa is this')
|
||||
asyncio.run(main())
|
||||
|
||||
|
|
|
@ -1,5 +1,22 @@
|
|||
#!/bin/sh
|
||||
set -x
|
||||
safeexec() {
|
||||
CMD="$1"
|
||||
shift
|
||||
test -x "$CMD" && exec "$CMD" "$@"
|
||||
}
|
||||
|
||||
test "" = "$*" || { exec "$@"; }
|
||||
echo "running /entrypoint.py"
|
||||
exec /entrypoint.py
|
||||
safeexec /mnt/entrypoint.py || safeexec /entrypoint.py
|
||||
#
|
||||
#trap "true" USR2
|
||||
#while true
|
||||
#do
|
||||
# echo "running /entrypoint.py"
|
||||
# ( /mnt/entrypoint.py || /entrypoint.py ) &
|
||||
# THEPID=$!
|
||||
# wait
|
||||
# test "$?" -gt 128 && {
|
||||
# kill "$THEPID"
|
||||
# } || break
|
||||
#done
|
||||
|
|
Loading…
Add table
Reference in a new issue