Reading votes from Twitter
In your $GOPATH/src
folder, alongside other projects, create a new folder called socialpoll
for this chapter. This folder won't be a Go package or a program by itself, but it will contain our three component programs. Inside socialpoll
, create a new folder called twittervotes
and add the obligatory main.go
template (this is important as main
packages without a main
function won't compile):
package main func main(){}
Our twittervotes
program is going to:
Load all polls from the MongoDB database using
mgo
and collect all options from theoptions
array in each documentOpen and maintain a connection to Twitter's streaming APIs looking for any mention of the options
Figure out which option is mentioned and push that option through to NSQ for each tweet that matches the filter
If the connection to Twitter is dropped (which is common in long-running connections that are actually part of Twitter's streaming API specification) after a short delay (so that we do not bombard...