0
  1. 私はwordpressページを持っています(wpテーブルを持つmysql dbとともに。
  2. 「custom_table」という名前のDBにカスタムテーブルがあります

必要なのは、wordpress ページに xml ファイルをアップロードする機能を追加し、custom_table をこの xml と同期して、テーブルが xml ファイルを反映するようにすることです。

XML ファイルのサイズは現在 ~6MB ですが、将来的には大きくなる可能性があります。同期中、custom_table はそのままである必要があります。つまり、同期中のテーブルへの変更は、アトミックである必要があります。すべてかゼロかです。

通常の php スクリプトでこれを行うのは良い考えですか、それともバックグラウンド ジョブを作成する必要がありますか? たとえば、xml ファイルをサーバーにアップロードし、xml ファイルを解析して DB に配置するジョブをバックグラウンドで実行しますか?

4

1 に答える 1

1

低速のインターネット接続やタイムアウトの可能性があるスクリプトを扱っている場合、6MB は大量です。

ここで解決しようとしている問題が 3 つあります。

  1. 長時間実行されるプロセス - バックグラウンド ジョブはこれに最適です。pcnt_fork() を使用するか、セッションを閉じてから処理を続行することにより、ユーザー セッションを切断できます。max_execution time が 0 または十分に長く設定されていることを確認してください。
  2. 原子性 - ACID は InnoDB 形式の主な機能です。MyISAM ではなく InnoDB としてテーブルを作成します。
  3. 完了 - 成功/失敗を追跡する必要があります。バックグラウンド ジョブはデバッグが困難です。あなたはWordpressで作業しているので、共有ホストにいると思いますか? コード内の適切な場所に、電子メールを送信するステートメントを追加したり、利用可能な場合はシステム ログを使用したりすることができます。もう 1 つの方法は、ログ用に別のテーブルを用意することです。
于 2013-10-14T10:55:52.047 に答える