Pythonで書かれた無限のスクリプトがあり、Postgresqlに接続し、コンピューターに接続されたカメラの前に人が現れたときにレコードを挿入します。
人が現れるたびに接続して閉じる必要がある場合、または何らかの方法で接続を保存できる場合は、データベースに接続する(および接続を保存する)最善の方法を知りたいです。無限ループの前に接続を作成し、カメラの前にアクティビティがない場合、接続はアイドル状態のままになり、スクリプトがしばらくして新しい行を挿入しようとすると、接続が閉じられるためです。新しい行を挿入するたびに接続すると、問題はありませんが、これは遅くなります。
ご提案ありがとうございます。
回答 1 件
関連記事
- アプリスクリプトを使用した無限カウントダウンタイマー
- QML:qmlファイルの「接続」はPythonスクリプトからのシグナルを起動しません
- argparseの--help引数でもPythonスクリプトを実行できるようにする
- Pythonスクリプトで入力関数が機能しない
- Google CloudFunctionで実行するPythonスクリプトを使用してマルチパートでzipファイルを抽出する方法
- Python:パラメーターを渡すことで別のPythonスクリプトでPythonスクリプトをループする
- Pythonでboto3を使用してAWSGameliftスクリプトを更新するにはどうすればよいですか?
- Pythonスクリプト内からherokuアプリを終了する
- Pythonスクリプト出力とは異なるコンソール出力
- jupyterノートブックでタイムアウト付きのPythonスクリプトを実行する
接続プールは、この種のものに適しています。私は本番環境では使用していません(主にDjangoまたはSQLAlchemyを使用)が、
psycopg2.pool
いくつかの異なる実装(SimpleConnectionPool
またはPersistentConnectionPool
)それはおそらくあなたのニーズに合うでしょう。一般的に、プールは共有リソースとして接続を管理するだけでなく、必要に応じて接続をテストおよび再初期化するのにも役立ちます。ザ・
putconn
これは非常に重要です。そのため、例外は、接続がまだ使用中であるとプールに残さないようにします。コンテキストマネージャとして処理するとよいでしょう。お役に立てば幸いです。