Wait for goroutines to finish before shuting down server (#8259)

When running server tests, the server will exit while some jobs spawned
through a goroutine are still running. This may crash the test harness,
as the jobs try to access a shut down app instance.

Fortunately the fix is easy: we just have to use the same App
goroutine-counting facility than the rest of the method's goroutines.
Этот коммит содержится в:
Pierre de La Morinerie
2018-02-14 23:48:06 +05:30
коммит произвёл Chris
родитель cafa4e4370
Коммит 44a27125de

Просмотреть файл

@@ -130,11 +130,21 @@ func runServer(configFileLocation string, disableConfigWatch bool, interruptChan
a.EnsureDiagnosticId() a.EnsureDiagnosticId()
go runSecurityJob(a) a.Go(func() {
go runDiagnosticsJob(a) runSecurityJob(a)
go runSessionCleanupJob(a) })
go runTokenCleanupJob(a) a.Go(func() {
go runCommandWebhookCleanupJob(a) runDiagnosticsJob(a)
})
a.Go(func() {
runSessionCleanupJob(a)
})
a.Go(func() {
runTokenCleanupJob(a)
})
a.Go(func() {
runCommandWebhookCleanupJob(a)
})
if complianceI := a.Compliance; complianceI != nil { if complianceI := a.Compliance; complianceI != nil {
complianceI.StartComplianceDailyJob() complianceI.StartComplianceDailyJob()