ホームページ  >  に質問  >  本文

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日前639

全員に返信(2)返信します

  • 大家讲道理

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

    解決方法はわかりますが、理由はわかりません。Task = None の場合に db.session.remove() を追加するだけです~~

    返事
    0
  • 高洛峰

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

    私は flask_sqlalchemy を使用したことがありません。あなたの考えによると、SQL は次のようになります。作成時間の昇順で最初の status=0 を見つけます。
    select * from taskqueue where status=0 order by create_time asc limit 0 、1

    理論的には、データテーブルのステータスがすべて 0 であれば、毎回データが存在するはずです。
    問題は、ORM が指定されたライブラリに接続されていないか、最初の関数が起動していない可能性があります。

    最初にデータが見つかるかどうかを確認することをお勧めします
    tasks = TaskQueue.query.filter_by(status=0)
    print len(tasks)

    どのリンクに問題があるかを判断します

    返事
    0
  • キャンセル返事