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还是未获取到值,求解?
高洛峰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
理論上如果你資料表裡的status全是0的話,每次應該都會有數據
出現問題的可能是你的orm這裡是沒有連到指定的庫,又或者first這個函數沒起到作用
建議你先看看是不是能查到資料
tasks = TaskQueue.query.filter_by(status=0)
print len(tasks)
判定是哪個環節出了問題