2011-01-11 10 views
1

私たちには、ブログへのリンクがリアルタイムでリストアップされているウェブサイトがあります。問題は、さまざまなソースサイトからデータを読み込んでいるため、ページの読み込みが遅いことです。長時間実行中のジョブのPHP Cronジョブの代わり

私は各ページのHTMLバージョンを作成するPHPスクリプトを作成しました。これは1時間に1回実行されます。問題は、PHPスクリプトがすべてのページを終了する前にタイムアウトしていることです。私は、PHPスクリプトに許される実行時間を増やすことができることを知っていますが、これは問題を処理する最も効率的な方法のようではありません。

これを行う別の方法はありますか?私はちょうど何を探し始めるべきかわからない - PERL? JAVA? Python?これらのスクリプトはどのようにサーバー上で動作しますか?ウェブホストから何を探すべきですか?

+2

これがすべてあなたのやっていることであれば、PHPは問題ありません。私たちのサーバは、コマンドラインからphpを実行しているとき、最大の実行時間を持っていません。実際には多くのcronにPHPを使用しています。 – Michael

+0

このCLI(コマンドライン)PHPですか? [CLIタスクのタイムアウトは設定されていません](http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time)が必要です。 – lonesomeday

+0

いいえ...私は友人のためにこれをやっています、彼らはGoDaddyで動いています... – Chris

答えて

0

異なる解決策は、データベースを使用することであり、一度に多くの作業を邪魔することではありません。あなたが引っ張ったサイトをリストしたテーブルを作成し、最後に引っ張ったときに保存します。それからしばらく引っ張られていない1または2を引き出します。それは頻繁に実行してください、それからあなたは常に新鮮なデータを持っていますが、スクリプトはすぐにそれほど多くをやろうとしないので、より簡単な時間を過ごすでしょう。このコンセプトはうまくスケールされます。

2

urllib2のPythonはおそらく良い仕事をします。また、私はこの権利を理解していますか?他のサイトのデータを集約するサイトがあり、それはすべて静的なHTMLで生成されていますか? HTMLをデータベースとして使用しているようですが、適切なHTMLを使用することを検討してください。

1

元の問題がネットワーク遅延(「ページが遅くなります」)の1つであるという事実を考えれば、私はここでPHPがボトルネックだとは思わないでしょう。私は言語の変更があなたのスクリプトの実行時間に影響することは疑いの余地があります。

関連する問題