Ich versuche eine Thread-Funktion zu erstellen, die es mir ermöglicht, ein Datenbankfeld zu überprüfen, um zu sehen, ob die time.now() größer ist als die in der Datenbank (postgresql); Das Problem ist, dass die view.py, wo ich diese anrufe, von diesem Thread blockiert wird, das ist mein tatsächlicher Code:Django Time Checker Datenbank
PD: expire_pet ist ein Textfeld, dann gieße ich es auf datetime.
import socket
import struct
from time import *
from datetime import datetime
from models import Zone
from multiprocessing import pool
import threading
class ControlHora(threading.Thread):
def __init__(self,zone_id):
threading.Thread.__init__(self)
self.zone_id = zone_id
def run(self):
while(True):
zone_pet = Zone.objects.filter(id = self.zone_id)
for i in zone_pet:
if i.pet_state == True:
hour = datetime.datetime.strptime(i.expire_pet, '%I:%M')
if hour <= datetime.datetime.now():
Zone.objects.filter(id = self.zone_id).update(vitrasa_pet = False)
Zone.objects.filter(id = self.zone_id).update(esycsa_pet = False)
Zone.objects.filter(id = self.zone_id).update(pet_state = False)
Zone.objects.filter(id = self.zone_id).update(expire_pet='')
sleep(5)
Time out wird in der Client-Seite zeigt, wenn ich diesen Thread nennen – Datex2