You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package main
import ( "bufio" "flag" "fmt" "github.com/seaweedfs/seaweedfs/weed/mq/client" "github.com/seaweedfs/seaweedfs/weed/mq/messages" "os" "time" )
var ( master = flag.String("master", "localhost:9333", "master csv list") topic = flag.String("topic", "", "topic name") )
func main() { flag.Parse()
publisher := client.NewPublisher(&client.PublisherOption{ Masters: *master, Topic: *topic, })
err := eachLineStdin(func(line string) error { if len(line) > 0 { if err := publisher.Publish(&messages.Message{ Key: nil, Content: []byte(line), Properties: nil, Ts: time.Time{}, }); err != nil { return err } } return nil })
publisher.Shutdown()
if err != nil { fmt.Printf("error: %v\n", err) } }
func eachLineStdin(eachLineFn func(string) error) error { scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { text := scanner.Text() if err := eachLineFn(text); err != nil { return err } }
// handle error
if scanner.Err() != nil { return fmt.Errorf("scan stdin: %v", scanner.Err()) }
return nil }
|