gostream
v0.0.1
ไลบรารีการประมวลผลสตรีมสำหรับ Go
type LogEvent struct {
Time time. Time
Level int
Message string
}
q := "select * from LogEvent.length(10)"
s , err := gostream . New ().
Add ( LogEvent {}).
Query ( q )
if err != nil {
fmt . Printf ( "new gostream: %v" , err )
return
}
defer s . Close ()
go func () {
for {
fmt . Printf ( "%v n " , <- s . Output ())
}
}()
s . Input () <- LogEvent {
Time : time . Now ()
Level : 1
Message : "something happened"
}
type LogEvent struct {
Time time. Time
Level int
Message string
}
s := stream . New ().
SelectAll ().
From ( LogEvent {}).
Length ( 10 ).
OrderBy ( "Level" , stream . DESC ).
Limit ( 10 , 5 )
defer s . Close ()
go s . Run ()
go func () {
for {
fmt . Printf ( "%v n " , <- s . Output ())
}
}()
s . Input () <- LogEvent {
Time : time . Now ()
Level : 1
Message : "something happened"
}