Created
April 22, 2024 19:50
-
-
Save voglster/5fc944c08893af8a40d3d3608f2b9375 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import asyncio | |
import time | |
from auth.model import TokenData | |
from pymongo import ReadPreference | |
from driver.schema import DriverCache | |
from driver_schedule.endpoints import get_driver_schedule_ep | |
from driver_schedule.schema import DriverScheduleRequest | |
from order.modelv3 import OrderV3 | |
from store.model import StoreTankCache | |
from trailer.schema import TrailerCache | |
# async def main(): | |
# from app import init_db | |
# await init_db() | |
# StoreTankCache.populate() | |
# DriverCache.populate() | |
# TrailerCache.populate_if_needed() | |
# payload = { | |
# "shift": "am", | |
# "date": "2024-04-17" | |
# } | |
# req = DriverScheduleRequest.model_validate(payload) | |
# start = time.time() | |
# await get_driver_schedule_ep(request=req, token_data=TokenData(username="username")) | |
# print("Took", time.time() - start) | |
async def main(): | |
for x in range(20): | |
from app import init_db | |
await init_db() | |
order_ids = [o.id async for o in OrderV3.find().sort("-_id").limit(500)] | |
print(order_ids[:5]) | |
col = OrderV3.get_motor_collection() | |
secondary_collection = col.with_options( | |
read_preference=ReadPreference.SECONDARY | |
) | |
times = [] | |
for i in range(500): | |
start = time.time() | |
req = await secondary_collection.find({"_id": {"$in": order_ids}}).to_list( | |
500 | |
) | |
total_time = time.time() - start | |
print("Took", total_time) | |
times.append(total_time) | |
if len(times) > 20: | |
average = sum(times) / len(times) | |
if average < 1: | |
print("SKIPPING FAST") | |
break | |
if __name__ == "__main__": | |
import db | |
db.connect() | |
asyncio.run(main()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment