私は、concurrent.futures モジュールを使用してジョブを並行して実行しています。それはかなりうまくいきます。
開始時刻と完了時刻は、ジョブが開始/終了するたびに mysql データベースで更新されます。また、各ジョブはデータベースから入力ファイルを取得し、出力ファイルをデータベースに保存します。エラーが発生しています
「エラー 2006: MySQL サーバーがなくなりました」
と
"Error 2013: Lost connection to MySQL server during query"
スクリプトの実行中。
単一のジョブの実行中にこれらのエラーに直面することはありません。
サンプル スクリプト:
import concurrent.futures
executor = concurrent.futures.ThreadPoolExecutor(max_workers=pool_size)
futures = []
for i in self.parent_job.child_jobs:
futures.append(executor.submit(invokeRunCommand, i))
def invokeRunCommand(self)
self.saveStartTime()
self.getInputFiles()
runShellCommand()
self.saveEndTime()
self.saveOutputFiles()
単一のデータベース接続とカーソルを使用して、すべてのクエリを実行しています。一部のクエリは時間のかかるものです。このエラーが発生する理由がわかりません。誰かが明確にすることができますか?
-ありがとう