デッドロックが発生したときにプログラムを再帰的に呼び出すにはどうすればよいですか?
P粉060112396
P粉060112396 2023-08-30 22:10:39
0
1
360
<p>私のジョブ「ストアド プロシージャ」は夜間に実行されます。時々行き詰まってしまいます。デッドロックを発見した場合、15分後に同じ処理を3回まで実行するコードを書きたいです。 </p> <p>今が午前 10 時だとします。次に、午前 10 時に実行し、デッドロックが見つかった場合は、午前 10 時 15 分にジョブを再度呼び出します。次に、「デッドロックの場合」午前 10 時 30 分に、次に「デッドロックの場合」午前 10 時 45 分にジョブを呼び出します。最後の実行でデッドロックが発生した場合は、ジョブを完全に終了します。 </p> <p>これが私がやったことです。 </p> <pre class="brush:php;toolbar:false;">totalTrys INT DEFAULT 0; を宣言します。 SQLEXCEPTION の終了ハンドラを宣言する 始める 診断条件の取得 1 @err_num = MYSQL_ERRNO; if(@err_num = 1213 AND totalTrys < 4) THEN SET totalTrys = totalTrys 1; SELECT SLEEP(900); Guardi.prod_update_guardi_accounts() を呼び出します。 終了 IF; END;</pre> <p>これは効率的なアプローチですか?デッドロックを解消するより良い方法はあるでしょうか? </p>
P粉060112396
P粉060112396

人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!