in mysql/mysql.go [270:297]
func (m MySQL) CheckWithDelay(term chaosmonkey.Termination, appCfg chaosmonkey.AppConfig, endHour int, loc *time.Location, delay time.Duration) error {
tx, err := m.db.Begin()
if err != nil {
return errors.Wrap(err, "failed to begin transaction")
}
defer func() {
switch err {
case nil:
err = tx.Commit()
default:
_ = tx.Rollback()
}
}()
err = respectsMinTimeBetweenKills(tx, term.Time, term, appCfg, endHour, loc)
if err != nil {
return err
}
if delay > 0 {
time.Sleep(delay)
}
err = recordTermination(tx, term, loc)
return err
}