| 262 | } |
| 263 | |
| 264 | func shouldWaitForDependency(serviceName string, dependencyConfig types.ServiceDependency, project *types.Project) (bool, error) { |
| 265 | if dependencyConfig.Condition == types.ServiceConditionStarted { |
| 266 | // already managed by InDependencyOrder |
| 267 | return false, nil |
| 268 | } |
| 269 | if service, err := project.GetService(serviceName); err != nil { |
| 270 | for _, ds := range project.DisabledServices { |
| 271 | if ds.Name == serviceName { |
| 272 | // don't wait for disabled service (--no-deps) |
| 273 | return false, nil |
| 274 | } |
| 275 | } |
| 276 | return false, err |
| 277 | } else if service.GetScale() == 0 { |
| 278 | // don't wait for the dependency which configured to have 0 containers running |
| 279 | return false, nil |
| 280 | } else if service.Provider != nil { |
| 281 | // don't wait for provider services |
| 282 | return false, nil |
| 283 | } |
| 284 | return true, nil |
| 285 | } |
| 286 | |
| 287 | func nextContainerNumber(containers []container.Summary) int { |
| 288 | maxNumber := 0 |