やりたいこと
pythonの他処理でDBにINSERTを行った(処理A)後に実行したい処理(処理B)があるのですが、処理Aから処理Bを呼び出すのではなく、DBに更新があったことを検知し、処理Bを発火する方法はあるのでしょうか。
状況など
1 python3でSQLite3を利用しています。
2 処理Aはおおよそ1分に1度の頻度でDBを書き換えますが、毎回10秒程度ずれがあります。
3 処理AのINSERTは毎回1レコードとは限らず、複数レコードをINSERTする場合があります。ですので、DBに”変化があった場合”に発火させる最適な方法を知りたいです。
4 処理A、処理Bをそれぞれコントロールする上位のクラスを用意し、処理A、処理Bは並列処理させることを想定しています(このような表現が正しいのかわからず伝わればよいのですが。。)。「DBに更新があったことを検知する」のを上位クラスに任せて、Bを発火させるようなイメージというのでしょうか。
5 処理Aから直接処理Bを呼び出すことなく、独立して動かす必要がある状況です。
補足
1 DBでいうところの、トリガーのようなものをイメージしています。
2 まさにトリガーからpythonをコールできるのであればその方法も知りたいのですが、構成が煩雑になる気がするので、できればpython側ですべてコントロールしたいです。
3 処理速度を非常に重視しています。(補足2が可能だった場合)トリガーの方が圧倒的に早いよ?等の意見もお待ちしています。