MCPcopy Create free account
hub / github.com/dgraph-io/dgraph-benchmarks / doWork

Function doWork

twitterdata/stream/stream.go:73–106  ·  view source on GitHub ↗
(id int, c *y.Closer, work <-chan interface{}, outDir string)

Source from the content-addressed store, hash-verified

71}
72
73func doWork(id int, c *y.Closer, work <-chan interface{}, outDir string) {
74 defer c.Done()
75
76 fd, err := os.Create(fmt.Sprintf("%s/twitter_feed_%d.json", outDir, id))
77 if err != nil {
78 panic(err)
79 }
80 defer fd.Close()
81
82 writer := bufio.NewWriter(fd)
83 var totalMessages, erroredMessages int
84 for message := range work {
85 totalMessages++
86
87 data, err := json.Marshal(message)
88 if err != nil {
89 fmt.Println("error in marshalling feed item ::", err)
90 erroredMessages++
91 continue
92 }
93
94 data = append(data, '\n')
95 if _, err := writer.Write(data); err != nil {
96 fmt.Println("error writing to file ::", err)
97 erroredMessages++
98 continue
99 }
100
101 if totalMessages%opts.ReportEveryTweets == 0 {
102 fmt.Printf("Routine: %d, Total: %d, error: %d\n", id,
103 totalMessages, erroredMessages)
104 }
105 }
106}
107
108func readCredentials(path string) (*twitterCreds, error) {
109 jsn, err := ioutil.ReadFile(path)

Callers 1

mainFunction · 0.70

Calls 4

DoneMethod · 0.80
WriteMethod · 0.80
CloseMethod · 0.65
MarshalMethod · 0.45

Tested by

no test coverage detected