[Python] 346 MySQLアプリ クエリ中断

[M1 Mac, Big Sur 11.7.2, Python 3.10.4, MySQL 8.0.31]

実行中のクエリを中断するスクリプトを書きました。

Webアプリのボタンを押して中断させたかったのですが、今のところ私のスキルではできないので、このファイルを実行するシェルスクリプトを作成し、とりあえず完了としました。

シェルスクリプトをダブルクリックするとクエリを中断できます。

中断時のChrome
python stop_query.py
import MySQLdb

# MySQLに接続
conn = MySQLdb.connect(user='root')
cur = conn.cursor()

# プロセス確認
proc = f'show processlist;'
cur.execute(proc)
procs = cur.fetchall()

# 実行中クエリを中断
for row in procs:
    print(row)
    
    if 'executing' in row:
        id = row[0]
        print(f'id : {id}')
        kill = f'kill {id};'
        cur.execute(kill)
        
conn.close()