1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-03 08:24:27 +00:00

create merge virtual repo task pool (#473)

* create merge virtual repo task pool

* use for range
This commit is contained in:
Xiangyue Cai
2021-06-30 11:21:57 +08:00
committed by GitHub
parent d8a4a9a72d
commit 537226aca7
4 changed files with 26 additions and 4 deletions

View File

@@ -15,6 +15,26 @@ import (
"github.com/haiwen/seafile-server/fileserver/repomgr"
)
const mergeVirtualRepoWorkerNumber = 5
var mergeVirtualRepoTasks = make(chan string, 100)
func virtualRepoInit() {
go createMergeVirtualRepoTaskPool(mergeVirtualRepoWorkerNumber)
}
func createMergeVirtualRepoTaskPool(n int) {
for i := 0; i < n; i++ {
go mergeVirtualRepoWorker()
}
}
func mergeVirtualRepoWorker() {
for repoID := range mergeVirtualRepoTasks {
mergeVirtualRepo(repoID, "")
}
}
func mergeVirtualRepo(repoID, excludeRepo string) {
virtual, err := repomgr.IsVirtualRepo(repoID)
if err != nil {