(app models.Application, stopChan chan bool, doneWait *sync.WaitGroup)
| 236 | ) |
| 237 | |
| 238 | func (cmd *Start) TailStagingLogs(app models.Application, stopChan chan bool, doneWait *sync.WaitGroup) { |
| 239 | c := make(chan logs.Loggable) |
| 240 | e := make(chan error) |
| 241 | defer doneWait.Done() |
| 242 | |
| 243 | go cmd.logRepo.TailLogsFor(app.GUID, func() {}, c, e) |
| 244 | for { |
| 245 | select { |
| 246 | case msg, ok := <-c: |
| 247 | if !ok { |
| 248 | cmd.logRepo.Close() |
| 249 | return |
| 250 | } else if msg.GetSourceName() == LogMessageTypeStaging { |
| 251 | cmd.ui.Say(msg.ToSimpleLog()) |
| 252 | } |
| 253 | |
| 254 | case err, ok := <-e: |
| 255 | if ok { |
| 256 | cmd.ui.Warn(T("Warning: error tailing logs")) |
| 257 | cmd.ui.Say("%s", err) |
| 258 | } |
| 259 | |
| 260 | case <-stopChan: |
| 261 | cmd.logRepo.Close() |
| 262 | return |
| 263 | } |
| 264 | } |
| 265 | } |
| 266 | |
| 267 | func (cmd *Start) waitForInstancesToStage(app models.Application) (bool, error) { |
| 268 | stagingStartTime := time.Now() |
no test coverage detected