events

Paddy 2015-12-14 Parent:2d030022b4b5

5:df95f058a7b5 Go to Latest

events/model.go

Update to new nsqio repo. The go-nsq client is now located under a nsqio org on Github, so we need to update the import path.

History
paddy@4 1 package events
paddy@4 2
paddy@4 3 import (
paddy@4 4 "log"
paddy@4 5 "time"
paddy@4 6 )
paddy@4 7
paddy@4 8 type Model interface {
paddy@4 9 GetModelName() string
paddy@4 10 GetID() string
paddy@4 11 GetSystem() string
paddy@4 12 }
paddy@4 13
paddy@4 14 func PublishModelEvent(p Publisher, m Model, action string) error {
paddy@4 15 evt := Event{
paddy@4 16 System: m.GetSystem(),
paddy@4 17 Model: m.GetModelName(),
paddy@4 18 ID: m.GetID(),
paddy@4 19 Action: action,
paddy@4 20 Data: m,
paddy@4 21 Timestamp: time.Now(),
paddy@4 22 }
paddy@4 23 err := p.Publish(evt.Model, evt)
paddy@4 24 if err != nil {
paddy@4 25 log.Printf("Error sending event: %#+v\n", err)
paddy@4 26 }
paddy@4 27 return err
paddy@4 28 }