Can anyone help me, how can I use freezegun to freeze time only in one request?
@router.get('/debug')
async def debug_route(request):
debug_datetime = request.headers.get('Debug-datetime')
with freezegun.freezetime(debug_datetime, real_asyncio=True):
await asyncio.sleep(10)
# some logic with debug time ...
print(dt.datetime.now(), 'debug datetime')
@router.get('/real')
async def real_route(request):
real_datetime = request.headers.get('Real-datetime')
await asyncio.sleep(1)
print(dt.datetime.now(), 'real datetime')
I want freezegun to freeze time only in /debug route. But when debug_route is executing. I get debug datetime in my real_route.
Thank you, for answers.
I want freezegun to freeze time only in specific route without affecting other routes.
I need all my code in the debug route to override calls to functions like datetime.now without affecting other requests.
Mike Lastin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.