func (self *Phase) autoResolve(c common.SkinnyContext) (err error) { c.Infof("Auto resolving %v/%v due to timeout", self.GameId, self.Id) if err = c.Transact(func(c common.SkinnyContext) (err error) { if err = c.DB().Get(self); err != nil { err = fmt.Errorf("While trying to load %+v: %v", self, err) return } if self.Resolved { c.Infof("%+v was already resolved", self) return } game := &Game{Id: self.GameId} if err = c.DB().Get(game); err != nil { err = fmt.Errorf("While trying to load %+v's game: %v", self, err) return } return game.resolve(c, self) }); err != nil { return } return }