Thread.start() не представляет функцию как неблокирующую в PythonPython

Программы на Python
Anonymous
Thread.start() не представляет функцию как неблокирующую в Python

Сообщение Anonymous »

Я хочу, чтобы функция запускалась в конце другой функции неблокирующим образом. Для этого я использую многопоточность (и ответ здесь: https://stackoverflow.com/a/6683797/4552286).

Код: Выделить всё

import threading

def checkValidQRCode(qrcode):
url=''
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"  # Specify the content type as JSON
}
response = requests.get(url, headers=headers)
# Check the response status code
if response.status_code == 200:
# Parse the JSON response
json = response.json()
print(json)

if len(json)>0:
print("unlock door from check valid qr code")
if(json[0]["Static"]==False):     #non static code, should mark as spent
#run update access code on separate thread
thread = threading.Thread(target=updateAccessCodeToSpent, args=(json[0]["Id"]))
thread.start()
return "unlock"

def updateAccessCodeToSpent(id):
time.sleep(5)

while(True):
if someCondition == True:
checkValidQRCode("qrcode")
print("this is code right after checkValidQRCode() in the loop")
Я хочу, чтобы оператор печати после триггера в цикле запускался сразу после завершения обработки запроса. Перед печатью происходит ожидание 5 секунд. Кроме того, я знаю, что это время взято из updateAccessCodeToSpent, поскольку я комментирую time.sleep код после немедленного запуска триггера.

Подробнее здесь: https://stackoverflow.com/questions/789 ... -in-python

Вернуться в «Python»