Within the __init__
of my class I want to trigger a thread that handles a function.
For some reason the thread isnt triggered though, nothing just happens:
class OrderBook:
# Create two sorted lists for bids and asks
def __init__(self, bids=None, asks=None):
if asks is None:
asks = []
if bids is None:
bids = []
self.bids = sortedcontainers.SortedList(bids, key=lambda order: -order.price)
self.asks = sortedcontainers.SortedList(asks, key=lambda order: order.price)
# Populate Orderbook with 50 orders
threading.Thread(target=populate_orderbook(self, 10)).start()
print(f'Orderbook initialized..')
...
And the function to be triggered which isnt though
def populate_orderbook(orderbook_instance, n):
order_type = ['Limit']
side = ['Buy', 'Sell']
i = 1
while i < n:
# Create random order
order_obj = Order(
order_type=order_type[0],
side=random.choice(side),
price=random.randint(1, 1000),
power=random.randint(1, 1000),
)
orderbook_instance.add(order_obj)
print(f'Orderbook prepopulated..')