Flask-SQLAlchemyセッションオブジェクトがデータベースへの変更を認識していませんか?

ネイサン・ワイルズ

MySQLデータベースに接続されたFlaskとFlask-SQLAlchemyを使用するPythonAnywhereのWebサイトがあります。ユーザーはWebサイトを使用して、データベースに保存されているタスクをテーブルのレコードとしてキューに入れることができます。その後、別のスケジュールされたタスク(Pythonプログラム)がデータベースをチェックし、未処理のすべてのレコードを処理します。

私が直面している問題は、スケジュールされたタスクのdbクエリが初めて実行されたときにのみ新しいレコードを見つけるように見えることですが、その後Webサイトを使用して新しいタスクを追加すると、まだ実行されているスケジュールされたタスクの定期的なdbクエリ( 5秒ごと)新しいレコードを検出していないようです。

ここで何が起こっているのかについてのアイデアはありますか?

bashファイルによって実行されているコードは次のとおりです。

def generate_any_pending_videos():
    unfinished_videos = db.session.query(Video)\
                                  .filter(~Video.status.has(VideoStatus.status.in_(['Error', 'Finished', 'Video deleted'])))\
                                  .order_by(Video.datetime_created)\
                                  .all()
    for video in unfinished_videos:
        try:
            logging.info("Attempting to create video for video %d" % video.id)
            generate_video(video)
        except Exception as e:
            logging.error(str(e))


if __name__ == '__main__':
    while True:
        generate_any_pending_videos()
        time.sleep(5)
ネイサン・ワイルズ

修正が見つかりました:何らかの理由でdb.session.commit()、クエリによって新しいレコードが表示される前に実行されていました。

if __name__ == '__main__':
    while True:
        generate_any_pending_videos()
        time.sleep(5)
        db.session.commit()  # For some reason this is needed to be able to detect newly-created videos

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Flask Python:MySQLdb、%sがデータベースにアクセスできません(SQLインジェクションを防ぐため)

分類Dev

Flask-SQLAlchemyで、データベースオブジェクトをどこで初期化して保存しますか?

分類Dev

Flask-SQLAlchemyで「古いアソシエーションプロキシ、親オブジェクトがスコープ外になりました」

分類Dev

Python-flaskサーバースタブを生成するときにモデルオブジェクトが定義されていません

分類Dev

uwsgiのFlaskアプリケーションでTypeErrorが発生します: 'Flask'オブジェクトは反復できません

分類Dev

FlaskからSQLAlchemyセッションを使用すると、「スレッドで作成されたSQLiteオブジェクトは同じスレッドでのみ使用できます」が発生します。

分類Dev

Flask SQLAlchemy db.create_all()がデータベースを作成していません

分類Dev

Flaskのセッションオブジェクトはdictまたはオブジェクトですか?

分類Dev

Flask SQLAlchemy:属性エラー: '関数'オブジェクトに属性がありません '変換'

分類Dev

Flask-SqlAlchemyを使用してリレーショナルデータベースをクエリします

分類Dev

FlaskとFlaskのパスとオプションの引数を使用して新しいページにリダイレクトします-WTFが機能しません

分類Dev

Flaskセッション(ファイルシステム)セッションオブジェクトのUnPicklingError、サイズ制限はありますか、それとも破損していますか?

分類Dev

Flask-SQLAlchemy-セッションは複数のデータベースでどのように機能しますか?

分類Dev

FlaskとSQLAlchemy、アプリケーションがインスタンスに登録されていません

分類Dev

データベースの移行をsqlalchemy-migrateからFlask-Migrateに変更します

分類Dev

Flaskアプリケーションのユニットテスト中にセッションオブジェクトにアクセスする

分類Dev

Alembic / Flask-migrateがデータベース構造を認識しない

分類Dev

Flask-SQLAlchemyイベントAPIを使用してFlask-SocketIOにブロードキャストしますか?

分類Dev

Python Flask:データベースに挿入するときに「OperationalError」オブジェクトを取得することはできません

分類Dev

FlaskおよびJinjaテンプレートのスローエラー:タイプ「カーソル」のオブジェクトにlen()がありません

分類Dev

FlaskとFlaskを使用したCelery-SQLAlchemyはデータベースレコードを更新できません

分類Dev

Flaskでさらにセッションオブジェクトを作成できますか?

分類Dev

Flaskがチェックボックスの値を取得していません

分類Dev

Flask-オブジェクトをセッションに直接保存する

分類Dev

Flaskセッションデータはユーザー(脅威アクター)によって変更できますか?

分類Dev

最初のFlaskプロジェクト-データベースファイルは更新されません

分類Dev

Flask and Kerasモデルエラー '' _thread._local 'オブジェクトに属性' value 'がありませんか?

分類Dev

FlaskアプリケーションへのリクエストがDockerコンテナに届きません

分類Dev

「Flask」オブジェクトに属性がありません「post」ログインユニットテストのエラー

Related 関連記事

  1. 1

    Flask Python:MySQLdb、%sがデータベースにアクセスできません(SQLインジェクションを防ぐため)

  2. 2

    Flask-SQLAlchemyで、データベースオブジェクトをどこで初期化して保存しますか?

  3. 3

    Flask-SQLAlchemyで「古いアソシエーションプロキシ、親オブジェクトがスコープ外になりました」

  4. 4

    Python-flaskサーバースタブを生成するときにモデルオブジェクトが定義されていません

  5. 5

    uwsgiのFlaskアプリケーションでTypeErrorが発生します: 'Flask'オブジェクトは反復できません

  6. 6

    FlaskからSQLAlchemyセッションを使用すると、「スレッドで作成されたSQLiteオブジェクトは同じスレッドでのみ使用できます」が発生します。

  7. 7

    Flask SQLAlchemy db.create_all()がデータベースを作成していません

  8. 8

    Flaskのセッションオブジェクトはdictまたはオブジェクトですか?

  9. 9

    Flask SQLAlchemy:属性エラー: '関数'オブジェクトに属性がありません '変換'

  10. 10

    Flask-SqlAlchemyを使用してリレーショナルデータベースをクエリします

  11. 11

    FlaskとFlaskのパスとオプションの引数を使用して新しいページにリダイレクトします-WTFが機能しません

  12. 12

    Flaskセッション(ファイルシステム)セッションオブジェクトのUnPicklingError、サイズ制限はありますか、それとも破損していますか?

  13. 13

    Flask-SQLAlchemy-セッションは複数のデータベースでどのように機能しますか?

  14. 14

    FlaskとSQLAlchemy、アプリケーションがインスタンスに登録されていません

  15. 15

    データベースの移行をsqlalchemy-migrateからFlask-Migrateに変更します

  16. 16

    Flaskアプリケーションのユニットテスト中にセッションオブジェクトにアクセスする

  17. 17

    Alembic / Flask-migrateがデータベース構造を認識しない

  18. 18

    Flask-SQLAlchemyイベントAPIを使用してFlask-SocketIOにブロードキャストしますか?

  19. 19

    Python Flask:データベースに挿入するときに「OperationalError」オブジェクトを取得することはできません

  20. 20

    FlaskおよびJinjaテンプレートのスローエラー:タイプ「カーソル」のオブジェクトにlen()がありません

  21. 21

    FlaskとFlaskを使用したCelery-SQLAlchemyはデータベースレコードを更新できません

  22. 22

    Flaskでさらにセッションオブジェクトを作成できますか?

  23. 23

    Flaskがチェックボックスの値を取得していません

  24. 24

    Flask-オブジェクトをセッションに直接保存する

  25. 25

    Flaskセッションデータはユーザー(脅威アクター)によって変更できますか?

  26. 26

    最初のFlaskプロジェクト-データベースファイルは更新されません

  27. 27

    Flask and Kerasモデルエラー '' _thread._local 'オブジェクトに属性' value 'がありませんか?

  28. 28

    FlaskアプリケーションへのリクエストがDockerコンテナに届きません

  29. 29

    「Flask」オブジェクトに属性がありません「post」ログインユニットテストのエラー

ホットタグ

アーカイブ