>  Q&A  >  본문

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일 전637

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

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

    해결 방법은 알겠으나 이유는 모르겠습니다. Task = None일 때 db.session.remove()만 추가해주세요~~

    회신하다
    0
  • 高洛峰

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

    Flask_sqlalchemy를 사용한 적이 없습니다. 귀하의 생각에 따르면 SQL은 생성 시간의 오름차순으로 첫 번째 상태 = 0을 찾으십시오.
    상태 = 0인 taskqueue에서 *를 선택하십시오. , 1

    이론적으로 데이터 테이블의 상태가 모두 0이면 매번 데이터가 있어야 합니다.
    ORM이 지정된 라이브러리에 연결되지 않았거나 첫 번째 기능이 시작되지 않은 것이 문제일 수 있습니다.

    데이터를 먼저 찾을 수 있는지 확인하는 것이 좋습니다
    tasks = TaskQueue.query.filter_by(status=0)
    print len(tasks)

    어떤 링크가 문제인지 확인

    회신하다
    0
  • 취소회신하다