0

外部 Web ページからデータを取得し、すべての情報を json でエンコードされた 1 つの変数に結合する複雑な php cron ジョブがあります。プロセス全体が非常に遅く、多くの時間がかかります。

ポイントは、インデックス ページから json オブジェクトを取得する必要があることですが、実行に時間がかかりすぎるため、すべてのスクリプトをロードしたくありません。私がやっていることは、cronジョブに新しいファイルを作成してjsonオブジェクトを書き込むように指示することであり、そのファイルから情報を取得しています。

新しいファイルを作成したり、スクリプトを「手動で」実行したりせずに、この情報を転送するためのより効率的で簡単な方法があるかどうかを知りたいです。CURL を使用して情報を送信できると聞いたことがありますが、実際には、この手法を以前に使用したことがないため、この状況で役立つかどうかはわかりません。

4

1 に答える 1

0

これはかなり一般的な問題です。ux に影響を与えるため、長時間実行されるタスクはページの読み込み時に実行しないでください。時間のかかる PHP スクリプトを cron ジョブとして実行することは、優れたソリューションです。おそらく、データベースを使用する方が簡単でしょう。sqliteまたは「本格的な」rdbms を使用して、データ (mysql や postregs など) を簡単に保存できます。それは次のようなものかもしれません:

時間のかかる PHP スクリプトが x 分ごとに cronjob で実行されています。ファイルではなくデータベースにデータを保存します。

ユーザーがインデックス ページを要求すると、別の php スクリプトに ajax 要求が送信されます。php スクリプトはデータベース内のデータを探し、存在する場合はユーザーに返します。

于 2012-10-30T14:44:38.803 に答える