我正在尝试创建一个线程函数,允许我检查数据库字段,以查看time.now()是否大于数据库中记录的那个(postgresql);问题是我调用它的view.py被这个线程阻止,这是我的实际代码:
PD:expire_pet是一个文本字段,然后我将其转换为日期时间。
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)
答案 0 :(得分:0)
它有效,问题是我一直在错误的位置调用运行,谢谢