From 7fa43f6e06c311680c139e7419785102f73fb80c Mon Sep 17 00:00:00 2001 From: yatmesh Date: Tue, 6 May 2025 15:17:04 +0530 Subject: [PATCH] (20250506) - testing tick save for tradeTs timestamp. --- background/finstitutions/trading/tick_save.py | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/background/finstitutions/trading/tick_save.py b/background/finstitutions/trading/tick_save.py index 187c2cf..199e676 100644 --- a/background/finstitutions/trading/tick_save.py +++ b/background/finstitutions/trading/tick_save.py @@ -150,36 +150,21 @@ ZERODHA_INSTRUMENT_LOOKUP = {} async def save_ticks(ticks: List[dict]): global ticks_since_telegram - - categorized_ticks = {} + now = date_time.get_current_utc_date_time() # Parse the date-time in UTC and add the metadata: for tick in ticks: - - print("TICKS DATA:", json.to_string(tick)) tick["metadata"] = {"broker": tick["broker"], "brokerToken": tick["brokerToken"]} tick["rcvdTs"] = date_time.parse_date_time(tick["rcvdTs"], timezone = date_time.TIMEZONE_UTC) - tick["tradeTs"] = date_time.parse_date_time(tick["tradeTs"], timezone = date_time.TIMEZONE_UTC) + tick["tradeTs"] = date_time.parse_date_time(tick["tradeTs"], timezone = date_time.TIMEZONE_UTC) or now tick["exchgTs"] = date_time.parse_date_time(tick["exchgTs"], timezone = date_time.TIMEZONE_UTC) - tick_segment = tick["segment"] - if tick_segment not in categorized_ticks.keys(): categorized_ticks[tick_segment] = [] - categorized_ticks[tick_segment].append(tick) - # Save the ticks: - # tasks = [ - # data_mongo.insert_many(collection = "__hot_zerodhaTicks", documents = ticks), - # data_mongo.insert_many(collection = "__cold_zerodhaTicks", documents = ticks) - # ] - tasks = [] - for tick_segment in categorized_ticks.keys(): - ticks = categorized_ticks[tick_segment] - tasks.append( - data_mongo.insert_many(collection="__hot_zerodhaTicks", documents=ticks), - ) - tasks.append( - data_mongo.insert_many(collection="__cold_zerodhaTicks", documents=ticks) - ) + tasks = [ + data_mongo.insert_many(collection = "__hot_zerodhaTicks", documents = ticks), + data_mongo.insert_many(collection = "__cold_zerodhaTicks", documents = ticks) + ] + results = await asyncio.gather(*tasks) # # Save the ticks: