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还是未获取到值,求解?
해결 방법은 알겠으나 이유는 모르겠습니다. Task = None일 때 db.session.remove()만 추가해주세요~~
Flask_sqlalchemy를 사용한 적이 없습니다. 귀하의 생각에 따르면 SQL은 생성 시간의 오름차순으로 첫 번째 상태 = 0을 찾으십시오.
상태 = 0인 taskqueue에서 *를 선택하십시오. , 1
이론적으로 데이터 테이블의 상태가 모두 0이면 매번 데이터가 있어야 합니다.
ORM이 지정된 라이브러리에 연결되지 않았거나 첫 번째 기능이 시작되지 않은 것이 문제일 수 있습니다.
데이터를 먼저 찾을 수 있는지 확인하는 것이 좋습니다
tasks = TaskQueue.query.filter_by(status=0)
print len(tasks)
어떤 링크가 문제인지 확인