Код: Выделить всё
def ingestion_worker(write_queue):
try:
curr_thread = threading.current_thread()
while not STOP_EVENT.is_set():
console_logger.info(f"STOP_EVENT is set {STOP_EVENT.is_set()}, running {curr_thread.name}")
tick = write_queue.get()
if tick is None:
continue
else:
with BUFF_LOCK:
m_tick = {
tick['instrument_token'],
datetime.now().stfrtime("%Y-%m-%d %H:%M:%S"),
tick['last_price'],
tick['volume']
}
BUFFER.append(m_tick)
finally:
console_logger.info(f"STOP_EVENT is set {STOP_EVENT.is_set()}, stopping {curr_thread.name}")
(Поправьте меня, если я использую неправильный жаргон или терминологию, также, если кто-нибудь может дайте общий совет, как мне это сделать лучше, это было бы очень полезно!)
Подробнее здесь: https://stackoverflow.com/questions/798 ... ck-the-gil
Мобильная версия