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:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user