python - flask_sqlalchemy 循环查询结果一样
PHPz
PHPz 2017-04-18 09:15:53
0
2
633

使用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)
  • 数据表中记录的 status 全部为 0,运行以上代码 持续输出 None ,不中断进程,手动修改数据表中一条记录status=1 以上代码还是照常输出 None 相当于task还是未获取到值,求解?

PHPz
PHPz

学习是最好的投资!

全員に返信(2)
大家讲道理

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

いいねを押す +0
小葫芦

私は 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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!