feat: stop redis listener when stopping
This commit is contained in:
10
worker.py
10
worker.py
@@ -30,6 +30,9 @@ class EventListener(Thread):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
pass # todo
|
pass # todo
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
self.pubsub.close()
|
||||||
|
|
||||||
def handle_message(self, channel: str, data: bytes):
|
def handle_message(self, channel: str, data: bytes):
|
||||||
data_dict = json.loads(data.decode())
|
data_dict = json.loads(data.decode())
|
||||||
if channel == 'move':
|
if channel == 'move':
|
||||||
@@ -45,7 +48,6 @@ camera = Camera()
|
|||||||
walle = WallE()
|
walle = WallE()
|
||||||
walle.setup()
|
walle.setup()
|
||||||
|
|
||||||
|
|
||||||
def walle_tick():
|
def walle_tick():
|
||||||
scheduler.enter(INTERVAL_TICK, 1, walle_tick)
|
scheduler.enter(INTERVAL_TICK, 1, walle_tick)
|
||||||
walle.tick()
|
walle.tick()
|
||||||
@@ -64,4 +66,8 @@ if __name__ == '__main__':
|
|||||||
redisdb = Redis()
|
redisdb = Redis()
|
||||||
event_listener = EventListener()
|
event_listener = EventListener()
|
||||||
event_listener.start()
|
event_listener.start()
|
||||||
scheduler.run()
|
try:
|
||||||
|
scheduler.run()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
event_listener.stop()
|
||||||
|
raise
|
||||||
|
|||||||
Reference in New Issue
Block a user