Maison  >  Questions et réponses  >  le corps du texte

python - flask_sqlalchemy 循环查询结果一样

使用flask_sqlalchemy 每隔5秒循环查询数据时,获取到的数据相同。

代码如下:

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)
PHPzPHPz2715 Il y a quelques jours640

répondre à tous(2)je répondrai

  • 大家讲道理

    大家讲道理2017-04-18 09:17:53

    Je sais comment le résoudre, mais je ne connais pas la raison. Ajoutez simplement db.session.remove() lorsque Task = None~~

    répondre
    0
  • 高洛峰

    高洛峰2017-04-18 09:17:53

    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

    répondre
    0
  • Annulerrépondre