MCPcopy Create free account
hub / github.com/TalkingData/owl / CreateStrategyEvent

Method CreateStrategyEvent

controller/mysql.go:127–193  ·  view source on GitHub ↗
(strategy_event *types.StrategyEvent, trigger_events map[string]*types.TriggerEvent)

Source from the content-addressed store, hash-verified

125}
126
127func (this *db) CreateStrategyEvent(strategy_event *types.StrategyEvent, trigger_events map[string]*types.TriggerEvent) (int64, error) {
128 tx, err := this.Begin()
129 defer tx.Rollback()
130 if err != nil {
131 lg.Error(err.Error())
132 return -1, err
133 }
134 stmt, err := tx.Prepare("INSERT INTO `strategy_event` VALUES (DEFAULT, ?, ?, ?, ?, ?, ?, ?, ?, ?, DEFAULT, ?, ?, ?, ?, ?)")
135 if err != nil {
136 lg.Error(err.Error())
137 return -1, err
138 }
139
140 result, err := stmt.Exec(
141 strategy_event.ProductID,
142 strategy_event.StrategyID,
143 strategy_event.StrategyName,
144 strategy_event.Priority,
145 strategy_event.Cycle,
146 strategy_event.AlarmCount,
147 strategy_event.Expression,
148 strategy_event.CreateTime,
149 strategy_event.UpdateTime,
150 strategy_event.Count,
151 strategy_event.Status,
152 strategy_event.HostID,
153 strategy_event.HostName,
154 strategy_event.IP)
155 if err != nil {
156 lg.Error(err.Error())
157 return -1, err
158 }
159
160 last_id, err := result.LastInsertId()
161 if err != nil {
162 lg.Error(err.Error())
163 return -1, err
164 }
165
166 for _, trigger_event := range trigger_events {
167 stmt_insert, err := tx.Prepare("INSERT INTO `trigger_event` VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
168 if err != nil {
169 lg.Error(err.Error())
170 return -1, err
171 }
172 _, err = stmt_insert.Exec(
173 last_id,
174 trigger_event.Index,
175 trigger_event.Metric,
176 trigger_event.Tags,
177 trigger_event.Number,
178 trigger_event.AggregateTags,
179 trigger_event.CurrentThreshold,
180 trigger_event.Method,
181 trigger_event.Symbol,
182 trigger_event.Threshold,
183 trigger_event.Triggered)
184 if err != nil {

Callers 1

processSingleEventFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected