0

Meetup APIを使用すると、プッシュされたデータ更新を取得できます。次のCURLように見えるリクエスト:

http://stream.meetup.com/2/open_events

更新されたイベントの一定のストリームを返します。このインポートされたストリームは、新しいデータがプッシュされるたびに更新され続けます。私はこのストリームを操作するための最良の方法を考えようとしていますが、何が標準かわかりません。whileループ内でリクエストを実行することを考えていましCURLたが、それは永久に実行され、codeigniterプロジェクトのコントローラー関数からリクエストを実行するのは実用的ではないようです。このような一見無限のイベントの流れとインターフェースする適切な方法は何ですか?コントローラ機能からプロセスを実行するよりも良い方法はありますか?頻繁に起動するcronジョブを実行して、前に中断したところから処理を続行する方が賢明でしょうか。

更新:さらに調査したところ、このストリームからデータをインポートするにはチャンク転送エンコーディングが使用されていることがわかりました。私を混乱させているのは、このストリームが無限に見えることです。データをノンストップで出力し続けるだけです。このようなデータのストリームからデータをインポートする方法がまだわかりません。cronジョブも、このようなストリームをmysqlデータベースにインポートするための答えではないようです。

これは、Meetupストリームを文書化したリソースへのリンクです: http ://www.meetup.com/meetup_api/docs/stream/2/open_events/

お手伝いありがとう。

4

2 に答える 2

1

Meetup.comのドキュメントを詳しく調べなくても、javascriptとajaxを使用して、一定の間隔でコントローラー(meetup Webサービスを呼び出す)を呼び出すことをお勧めします。Ajax応答には更新されたデータが含まれ、それに応じてajaxコールバック関数でページを更新できます。

javascript setInterval()メソッドを確認してください

于 2012-10-30T16:05:23.430 に答える
1

私はあなたの解決策がどのようになってしまったのか興味があります。私はまだ始めたばかりなので、解決策があれば大いに役立ちます。また、永続的なアプリケーションはcronを超える方法だと思います。

    $url= 'http://stream.meetup.com/2/open_events?since_mtime=1326077000';
    $fp = fopen($url, 'r');
    $data="";
    $string="";
    while ($data !="")
    {
    $data = fread($fp, 45);
        $string .= $data;   
    }
于 2013-01-09T17:19:05.077 に答える