mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Graceful: Xorm, RepoIndexer, Cron and Others (#9282)
* Change graceful to use a singleton obtained through GetManager instead of a global. * Graceful: Make TestPullRequests shutdownable * Graceful: Make the cron tasks graceful * Graceful: AddTestPullRequest run in graceful ctx * Graceful: SyncMirrors shutdown * Graceful: SetDefaultContext for Xorm to be HammerContext * Avoid starting graceful for migrate commands and checkout * Graceful: DeliverHooks now can be shutdown * Fix multiple syncing errors in modules/sync/UniqueQueue & Make UniqueQueue closable * Begin the process of making the repo indexer shutdown gracefully
This commit is contained in:
		@@ -6,6 +6,7 @@ package integrations
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"context"
 | 
			
		||||
	"database/sql"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"fmt"
 | 
			
		||||
@@ -24,6 +25,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/graceful"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
	"code.gitea.io/gitea/routers"
 | 
			
		||||
	"code.gitea.io/gitea/routers/routes"
 | 
			
		||||
@@ -55,6 +57,10 @@ func NewNilResponseRecorder() *NilResponseRecorder {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestMain(m *testing.M) {
 | 
			
		||||
	managerCtx, cancel := context.WithCancel(context.Background())
 | 
			
		||||
	graceful.InitManager(managerCtx)
 | 
			
		||||
	defer cancel()
 | 
			
		||||
 | 
			
		||||
	initIntegrationTest()
 | 
			
		||||
	mac = routes.NewMacaron()
 | 
			
		||||
	routes.RegisterRoutes(mac)
 | 
			
		||||
@@ -171,7 +177,7 @@ func initIntegrationTest() {
 | 
			
		||||
		}
 | 
			
		||||
		defer db.Close()
 | 
			
		||||
	}
 | 
			
		||||
	routers.GlobalInit()
 | 
			
		||||
	routers.GlobalInit(graceful.GetManager().HammerContext())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func prepareTestEnv(t testing.TB, skip ...int) func() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user