sql >> Database teknologi >  >> NoSQL >> MongoDB

Fejl under hentning af tweets med Tweepy

Denne IncompleteRead fejl har generelt en tendens til at opstå, når dit forbrug af indgående tweets begynder at falde bagud , hvilket giver mening i dit tilfælde i betragtning af din lange liste af vilkår at spore. Den generelle tilgang, de fleste mennesker ser ud til at tage (inkluderet mig selv), er simpelthen at undertrykke denne fejl og fortsætte din indsamling (se linket ovenfor).

Jeg kan ikke helt huske om IncompleteRead vil lukke din forbindelse (det tror jeg, det kan være, fordi min personlige løsning genopretter forbindelsen til min stream), men du kan overveje noget i stil med følgende (Jeg vil lige fløjte det, det skal nok omarbejdes for din situation ):

# from httplib import IncompleteRead # Python 2
from http.client import IncompleteRead # Python 3
...
while True:
    try:
        # Connect/reconnect the stream
        stream = Stream(auth, listener)
        # DON'T run this approach async or you'll just create a ton of streams!
        stream.filter(terms)
    except IncompleteRead:
        # Oh well, reconnect and keep trucking
        continue
    except KeyboardInterrupt:
        # Or however you want to exit this loop
        stream.disconnect()
        break
...

Igen, jeg fløjter det bare derhen, men historiens morale er, at den generelle tilgang her er at undertrykke fejlen og fortsætte.

REDIGERING (10/11/2016): Bare en nyttig godbid for alle, der beskæftiger sig med meget store mængder af tweets - en måde at håndtere denne sag uden på at miste forbindelsestid eller tweets ville være at droppe dine indkommende tweets i en køløsning (RabbitMQ, Kafka osv.) for at blive indtaget/behandlet af en applikation, der læser fra den kø.

Dette flytter flaskehalsen fra Twitter API til din kø, som ikke burde have noget problem med at vente på, at du bruger dataene.

Dette er mere en "produktions" softwareløsning, så hvis du er ligeglad med at miste tweets eller oprette forbindelse igen, er ovenstående løsning stadig helt gyldig.



  1. MongoDB grupper efter array indre-elementer

  2. Redis pub/sub til chatserver i node.js

  3. MongoDB $sin

  4. Geografisk distribuerede MongoDB-replikasæt til 100 % oppetid