@Tayrus0

Как сделать данный код асинхронным в flask?

Есть вот такой код, как сделать его асинхронным? Тоесть чтобы когда у одного пользователя выполнялась функция check() и другого она тоже начинала выполнятся? Можно и другой Фреймворк использовать, какой лучше я не знаю

js_stub = open("_.js", "r", encoding='utf-8').read()
process = frida.get_usb_device(1).attach('valhala')
results_pool = {}

app = Flask(__name__)


def on_message(message):
    payload = message['payload']
    splitted = payload.split('|')

    uid = splitted[0]
    response = splitted[1]

    results_pool[uid] = response


def get_script(numbers_json, uid):
    return js_stub.replace('{uid}', uid).replace('{numbers}', numbers_json)


def get_result(uid):
    while True:
        if uid in results_pool:
            break

    return results_pool[uid]


@app.route('/check')
def check():
    number = '+' + request.args.get('number')
    numbers = [number]

    uid = hashlib.md5((number + str(time.time())).encode('utf-8')).hexdigest()

    js_script = get_script(json.dumps(numbers), uid)
    frida_script = process.create_script(js_script)
    frida_script.on('message', on_message)

    frida_script.load()

    result = get_result(uid)

    users_details = json.loads(result)['UsersDetails']
    is_get = bool(users_details[0]['MID'] != '')
    return jsonify(
        exists=is_get
    )


if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', use_reloader=False)
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
@twistfire92
Python backend developer
Если хотите асинхронность, смотрите в сторону FastApi
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы