@app.post('token')
async def set_token() -> JSONResponse:
    token = secrets.token_hex(32)
    resp = JSONResponse(content={'new_token': token})
    resp.set_cookie(key='x_token', value=token, secure=True)
    return resp
@app.get('token')
async def get_token(x_token: str = Cookie()) -> JSONResponse:
    return {'token': x_token}import os
from threading import Thread
def listen(filename, count):
    # запускаем в отдельном потоке команду
    t = Thread(target=os.system, args=((f'ping -c {count} yandex.ru > {filename}'),))
    t.start()
    # ждем начала работы потока, после чего открываем файл
    while not os.path.exists(filename):
        pass
    else:
        f = open(filename, 'r')
    i = 0
    while i <= count:
        data = f.read()
        if data:
            print(data)
            i += 1
listen('out', 5)modules в стандартной библиотке sys, а затем заново вызвать импорт. Либо можете использовать функцию reload из модуля importlib.import sys
import some_module
del sys.modules['some_module']
import some_modulefrom importlib import reload
import some_module
reload(some_module)