操作
Enhancement(機能追加・改善) #1662
未完了コミュニティ全員参加処理がタイムアウトで中断されてしまう問題の改善
開始日:
2010-10-06
期日:
進捗率:
50%
予定工数:
説明
【チューニング】コミュニティ全員参加処理(/pc_backend.php/community/addAllMember/id/:id)にて、SNSのメンバー数が多い場合にタイムアウトしています。
Hiroki Mogi さんが約14年前に更新
php.iniを以下のように設定したローカル環境でテストを行ないましたが、約5000件の時点でメモリオーバーが発生していました。
- max_execution_time = 0
- memory_limit = 512M
Yuya Watanabe さんがほぼ13年前に更新
- ステータス を New(新規) から Invalid(無効) に変更
#927 の改善によってメモリオーバーは発生しなくなったため,本チケットを invalid としてクローズします.
Youichi Kimura さんがほぼ13年前に更新
- ステータス を Invalid(無効) から Accepted(着手) に変更
- 担当者 を Youichi Kimura にセット
- 対象バージョン を 261 にセット
コミュニティ全員参加処理でのタイムアウトについて、複数回のリクエストに分割して処理を行う修正ができたため当チケットをAcceptedに戻します。
Youichi Kimura さんがほぼ13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 a10fbf6cb52f0d50beda3e428f91a0d775c04254 で適用されました。
Youichi Kimura さんが約11年前に更新
- 題名 を [optimization] コミュニティ全員参加処理のチューニング から コミュニティ全員参加処理がタイムアウトで中断されてしまう問題の改善 に変更
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
- 対象バージョン を OpenPNE 3.8.x から OpenPNE 3.9.0-old に変更
model クラス内でタイムアウト処理を行うのが適切でないと考えたため差し戻しにします
Shinichi Urabe さんが7年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
PR: https://github.com/openpne/OpenPNE3/pull/474
PDO のみで、1 SQL で完結する処理としました。
手元で試した限り、5000メンバーの登録が2, 3 秒で完了しました。(環境によると思いますが)
ただし、Doctrine のイベントリスナが使えないという問題はあります。
操作