Есть вот такой код, как сделать его асинхронным? Тоесть чтобы когда у одного пользователя выполнялась функция 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)