TwitterストリーミングAPIからツイートを読んでいます。 APIに接続した後、私はジェネレータを取得しています。特定の時刻に発電機を終了する方法はありますか?
私は受け取った各ツイートをループしていますが、反復子を18PMで終了したいと考えています。各ツイートを受信した後、指定されたタイムスタンプよりも遅いかどうかを確認しています。
問題は、私が頻繁につぶやきを受け取っていないということです。だから、私は17時50分に1つを受け取ることができ、次の1つを19時に受け取ることができます。それは時間が過ぎたことを知り、私が止める必要がある時です。
18PMで強制停止する方法はありますか?ここで
は、私のコードの高レベルのビューです:
def getStream(tweet_iter):
for tweet in tweet_iter:
#do stuff
if time_has_passed():
return
tweet_iter = ConnectAndGetStream()
getStream(tweet_iter)
注意:PEP 8に従うことをお勧めします( 'getStream'は' get_stream'にする必要がありますが、正式に推奨されています)。 – EOL
スクリプトが6時に正確に実行を停止しない場合、どうして問題になりますか? – jonrsharpe
私はtweet-generatorからの戻り値を動的に取得する時間を推測するので、次の()コールを何時かのタイムアウトでラップして、何時であるかを確認する余地があります。 http://stackoverflow.com/questions/492519/timeout-on-a-function-call – Moberg