2010-11-18 7 views
0

私はMySQLを使用するウェブサイトを持っています。私は "人"という名前のテーブルを使用していますが、各行は明らかに人を表しています。ユーザーがページを入力すると、その人に関連するニュース(MySQLテーブルの情報と一緒に)を紹介したいと思います。そのために、私はBING News Source APIを使うことにしました。複数のURLを取得し、PHPスクリプトでDBを更新する

ページロードごとにBING APIを呼び出す方法の問題は、ページの読み込み時間(BINGサーバーへのラウンドチップ)が増えていることです。したがって、私はすべてのニュースを事前に取得して、「ニュース」という名前の色付きでテーブルに保存することに決めました。

私のテーブルには5,000人以上の人がいるので、PHPスクリプトを実行してすべての人物のニュースをすべてダウンロードし、一度にテーブルを更新すると、Fatal error: Maximum execution timeになります(タイムアウトを無効にしたくないです。 。

このようなスクリプトを実行するにはどのような方法が適していますか?私は毎回ローの一部だけを更新する5分ごとにcronジョブを実行できますが、その場合でも現在のオフセットを保存する最良の方法は何でしょうか?私は、MySQLまたはサーバーvarとしてオフセットを保存する必要がありますか?

答えて

1
  • 利用cronジョブあなたはcronジョブとして実行することを計画している場合、あなたが
  • がマスタースクリプトを作成して考える(あなたがいない公共のために、他のサイトから物事を引いている)タイムアウトを増やす必要があります(によってトリガcronjob)とこのマスタースクリプトは、BING News Source(これを使用すると、5000以上のプロファイルを複数ダウンロードできます)からデータを1つずつダウンロードすることなくプルできるように、 1つずつ(バッチ処理と考える)

更新

CronはUnixライクなコンピュータオペレーティングシステムの時間ベースのジョブスケジューラです。クロンという名前はクロノスという言葉から来ており、ギリシャ語は「時間」です。 Cronを使用すると、特定の時刻または日付に定期的にジョブ(コマンドまたはシェルスクリプト)を実行するようにスケジュールすることができます。その汎用性は、それが他の目的に使用することができることを意味しても一般的に

Cron - on Wiki

+0

ありがとうございました!これらのスクリプトのタイムアウトを増やすことは可能ですか?他のすべてのPHPではデフォルトのタイムアウトがありますか? – Joel

+0

PHPプロセスを生成するには、includeまたはrequireを参照するのではなく、直接スクリプトを実行するためにPHPを再度呼び出す必要があります。各スポーンプロセスが独自のデフォルトタイムアウトを使用していることを意味します。ここを参照してください:http://stackoverflow.com/questions/45953/php-execute-a-background-process – ajreal

+0

ああ大変申し訳ありません。わかった。 Your'eはApache(タイムアウトの制限があります)を介してスクリプトとして実行するのではなく、linuxのPHPプロセスとして実行することをお勧めします。ありがとう! – Joel

1

なぜAJAX経由でページのニュースセクションを読み込まないのですか?これは、ページの残りの部分がすぐに読み込まれることを意味し、BINGを待ってから作成される遅延は、読み込みプレースホルダを割り当てることができるニュースセクションにのみ影響します。

DBにニュースを保存することは、非常に効率的/実用的な解決策のようには聞こえません。レコードの継続的な管理だけで、将来的に頭痛を引き起こす可能性があります。複雑な仕事

  • ため

  • +0

    、このような電子メールをインターネットに接続してダウンロードするように、システムの保守や管理を自動化するために主にSEOの理由を使用しています。私はSEのスパイダーがこのようにコンテンツを無視するかもしれないと考えました... – Joel

    +0

    うん、はい、あなたはこれに対応する必要があります。つまり、あなたのAJAX呼び出しが正しく構造化されていれば、それはうまくいくはずです。こちら(googleから)をご覧ください:http://code.google.com/web/ajaxcrawling/docs/getting-started.html – SW4

    +0

    @joel ..ニュースはユーザーが正しくログインしたときに表示されますか?検索エンジンでニュース項目を索引付けすることでそのポイントを揺さぶっていますか? – Shoban

    関連する問題