MarketMaker now exits cleanly on Control-C (SIG_TERM).

This commit is contained in:
Geoff Taylor 2021-07-19 15:14:00 +01:00
parent 94df52003b
commit c5cd5ca095
2 changed files with 7 additions and 4 deletions

View File

@ -6,6 +6,7 @@ import os
import os.path
import rx
import sys
import threading
import typing
from decimal import Decimal
@ -250,10 +251,13 @@ pulse_disposable = rx.interval(args.pulse_interval).subscribe(
on_next=lambda _: market_maker.pulse(context, model_state))
disposer.add_disposable(pulse_disposable)
print("Press <ENTER> to quit.")
# Wait - don't exit. Exiting will be handled by signals/interrupts.
waiter = threading.Event()
try:
waiter.wait()
except:
pass
# Wait - don't exit
input()
print("Shutting down...")
ws.close()
disposer.dispose()

View File

@ -36,7 +36,6 @@ class OrderTracker:
self.tracked += [order]
def existing_orders(self, model_state: ModelState) -> typing.Sequence[mango.Order]:
print("Model State Orders", model_state.placed_orders)
live_orders: typing.List[mango.Order] = []
for placed_order in model_state.placed_orders:
details = self._find_tracked(placed_order.client_id)