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

使用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() 就行了~~

小葫芦

没用过flask_sqlalchemy,按照你的思路sql应该是这样的, 按创建时间升序查找第一个status=0
select * from taskqueue where status=0 order by create_time asc limit 0, 1

理论上如果你数据表里的status全是0的话,每次应该都会有数据
出现问题的可能是你的orm这里是没有连到指定的库,又或者first这个函数没起到作用

建议你先看看是不是能查到数据
tasks = TaskQueue.query.filter_by(status=0)
print len(tasks)

判定是哪个环节出了问题

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!