PHPサーバーでのタイムアウトを回避する
AIサービスのAPIに送信されるリクエストには、できるだけ多くの翻訳対象文字列が含まれています。リクエストが長くなるほど、APIの処理に時間がかかります。
応答が遅い場合、PHPサーバーでタイムアウトが発生することがあります(例:PHPスクリプトの最大実行時間が30秒に設定されている場合)。
タイムアウトを回避するには、以下の方法があります:
- PHPの
max_execution_timeより低い値にTranslation Timeoutを設定する(推奨) - PHP設定で最大実行時間を延長する
- プラグイン設定でAPIに送信するペイロードサイズを削減する
- サーバーで許可される同時アウトバウンドリクエスト数を増やす(多数の言語への大量投稿の同時翻訳が失敗するを参照)
ペイロードサイズを削減すると、リクエストは複数のリクエストに分割され、それぞれがより短時間で処理されます。
Settings > Service Configuration > [AI service] に移動し、Max request payload length オプションをタイムアウトエラーを回避できる適切な文字数に減らしてください。
たとえば、4000 に設定して失敗する場合は、2000 に設定してみてください。

Translation Timeoutの設定
Webサーバーは、max_execution_timeディレクティブ(php.iniまたはホスティングコントロールパネルで設定)を通じて、すべてのPHPリクエストの最大実行時間を強制します。
プラグインはPlugin Configuration > Translation Timeoutの下にある設定でTranslation Timeoutオプションを提供しています。サーバーのmax_execution_timeより低い値に設定しておくことで、翻訳が停止した場合にログに制御されたエラーとして記録され、汎用的なサーバータイムアウト(HTTP 502 / 504、または「Maximum execution time of N seconds exceeded」という空白ページ)が発生する代わりに、適切に失敗するようになります。

翻訳が定期的にタイムアウトする場合は、この値とサーバーのmax_execution_timeの_両方_を同時に増やしてください。