mirror of
https://github.com/celogeek/piwigo-cli.git
synced 2025-05-25 02:02:37 +02:00
optimize
This commit is contained in:
parent
9beadc7890
commit
a99650d614
@ -211,16 +211,7 @@ func (p *Piwigo) CheckFiles(filesToCheck chan *FileToUpload, files chan *FileToU
|
||||
|
||||
func (p *Piwigo) UploadFiles(files chan *FileToUpload, stat *FileToUploadStat, hasVideoJS bool, nbJobs int) {
|
||||
defer stat.Close()
|
||||
|
||||
wg := &sync.WaitGroup{}
|
||||
for i := 0; i < nbJobs; i++ {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
for file := range files {
|
||||
p.Upload(file, stat, 2, hasVideoJS)
|
||||
}
|
||||
}()
|
||||
for file := range files {
|
||||
p.Upload(file, stat, nbJobs, hasVideoJS)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
@ -13,9 +13,9 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
var CHUNK_SIZE int64 = 1 * 1024 * 1024
|
||||
var CHUNK_BUFF_SIZE int64 = 32 * 1024
|
||||
var CHUNK_BUFF_COUNT int = 32
|
||||
var CHUNK_PRECOMPUTE_SIZE int = 8
|
||||
var CHUNK_BUFF_COUNT = CHUNK_SIZE / CHUNK_BUFF_SIZE
|
||||
|
||||
func DumpResponse(v interface{}) (err error) {
|
||||
b, err := json.MarshalIndent(v, "", " ")
|
||||
@ -65,7 +65,7 @@ func Base64Chunker(filename string) (out chan *Base64ChunkResult, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
out = make(chan *Base64ChunkResult, CHUNK_PRECOMPUTE_SIZE)
|
||||
out = make(chan *Base64ChunkResult, 8)
|
||||
go func() {
|
||||
b := make([]byte, CHUNK_BUFF_SIZE)
|
||||
defer f.Close()
|
||||
@ -76,7 +76,7 @@ func Base64Chunker(filename string) (out chan *Base64ChunkResult, err error) {
|
||||
Position: position,
|
||||
}
|
||||
b64 := base64.NewEncoder(base64.StdEncoding, &bf.Buffer)
|
||||
for i := 0; i < CHUNK_BUFF_COUNT; i++ {
|
||||
for i := int64(0); i < CHUNK_BUFF_COUNT; i++ {
|
||||
n, _ := f.Read(b)
|
||||
if n == 0 {
|
||||
ok = true
|
||||
|
@ -32,7 +32,7 @@ func (c *ImagesUploadTreeCommand) Execute(args []string) error {
|
||||
files := make(chan *piwigo.FileToUpload, 1000)
|
||||
|
||||
go p.ScanTree(c.Dirname, c.CategoryId, 0, &status.UploadFileType, stat, filesToCheck)
|
||||
go p.CheckFiles(filesToCheck, files, stat, 2)
|
||||
go p.CheckFiles(filesToCheck, files, stat, 8)
|
||||
p.UploadFiles(files, stat, hasVideoJS, 4)
|
||||
|
||||
return nil
|
||||
|
Loading…
x
Reference in New Issue
Block a user