私の最初の Python プロジェクトでは、レコードが Oracle テーブルに挿入されるのを待つ必要があります。レコードが存在する場合、python 関数を呼び出す必要があります。cx_oracle を使用しています。
私が今やっている方法は、無限ループを持ち、ループ内でテーブルをクエリすることです。レコードが存在する場合は、関数を呼び出します。5 秒待ってから、再度開始します。このようなもの:
while 1:
id = db.cursor.callfunc('FunctionThatReturnsID_OR_0_ifNoRecords', int)
if id > 0:
doSomething()
delete_the_Record(id)
time.sleep(5)
5 秒では時間がかかりすぎてシステムが遅く見えますが、毎秒クエリでデータベースをオーバーフローさせたくありません。Python でレコードを待機し、レコードが挿入されたときに何らかのアクションを実行する他の方法はありますか?