はじめに threading を用いた並行処理をさせる常駐型の Python プログラムにおいて、データベースに接続する際に sqlalchemy の create_engine の使い方を間違えるとデータベース接続数が爆増してしまうので注意が必要です。本稿ではそれについて簡単に説明したいと思います。 TL;DR 以下のいずれかの方法を選択すると必要以上に接続数が増えることはないでしょう。 create_engine() はプログラム開始時に一回だけ呼んで Engine クラスインスタンスを使い回す NullPool を指定してコネクションプールを使わないようにし、scoped_session でセッションを生成する 環境 以下の環境で実験しています。 項目名 バージョン