events
2015-12-14
Parent:2d030022b4b5
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.
| 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 } |