5

Web サービス (この場合は twitter の API) をポーリングする必要がありますが、このトピックに関する従来の知恵は何なのか疑問に思っています。これが重要かどうかはわかりませんが、これまでフィードバックは役に立ちました。

私が思いついたいくつかのシナリオ:

  1. クエリ プロセスは X 秒ごとに開始されます。たとえば、cron ジョブは Python スクリプトを実行します。

  2. プロセスは反復ごとに継続的にループしてクエリを実行します。終了しない Python スクリプトを実行するだけですか?

アドバイスありがとうございます。

ps - Twitter の詳細について: Twitter がフォローおよびダイレクト メッセージ用に電子メールを送信することは知っていますが、@replies を解析する柔軟性が必要になる場合があります。そのような場合、私はポーリングが得られるのと同じくらい良いと信じています.

pps - Twitter は、ボットを 60 分あたり 100 リクエストに制限しています。これにより Web スクレイピングや RSS フィードの読み取りも制限されるかどうかはわかりません。ホワイトリストに登録するのがどれほど簡単か、または難しいか知っている人はいますか?

再度、感謝します。

4

2 に答える 2

5

「終了しない Python スクリプトを実行するだけですか?」

このなじみのない領域はどうですか?

import time
polling_interval = 36.0 # (100 requests in 3600 seconds)
running= True
while running:
    start= time.clock()
    poll_twitter()
    anything_else_that_seems_important()
    work_duration = time.clock() - start
    time.sleep( polling_interval - work_duration )

ただのループです。

于 2009-01-10T00:31:53.767 に答える
0

Ping または Heartbeat ページのようなページが必要です。そのページを「くすぐる」またはヒットする別のプロセスがある場合は、通常、Web ホストのコントロール パネルでこれを行うか、ローカル アクセスがある場合は cron を使用します。次に、このスクリプトは、データベースまたは一部のデータストアでポーリングされた頻度の統計を保持できます。その後、必要なだけサービスをポーリングします。もちろん、プロバイダーの制限に制限されます。「終わらない」Pythonスクリプトに絶対に頼りたくありません(そして確かに頼りたくありません)。:)

于 2009-01-10T00:22:11.103 に答える