while True:
task = TaskQueue.query.filter_by(status=0).order_by(TaskQueue.create_time.asc()).first()
print(task)
if task:
pass
else:
time.sleep(5)
数据表中记录的 status 全部为 0,运行以上代码 持续输出 None ,不中断进程,手动修改数据表中一条记录status=1 以上代码还是照常输出 None 相当于task还是未获取到值,求解?
Je sais comment le résoudre, mais je ne connais pas la raison. Ajoutez simplement db.session.remove() lorsque Task = None~~
Je n'ai jamais utilisé flask_sqlalchemy. Selon votre idée, le SQL devrait être comme ceci. Trouvez le premier statut=0 dans l'ordre croissant du temps de création
sélectionnez * dans la file d'attente des tâches où statut=0 ordre par create_time asc limit 0. , 1
Théoriquement, si l'état de votre table de données est entièrement à 0, il devrait y avoir des données à chaque fois
Le problème peut être que votre ORM n'est pas connecté à la bibliothèque spécifiée, ou que la première fonction n'est pas démarrée.
Je vous suggère de vérifier si vous pouvez d'abord trouver les données
tasks = TaskQueue.query.filter_by(status=0)
print len(tasks)
Déterminez quel lien pose problème