More better rate limiting

This commit is contained in:
2024-10-13 22:53:43 +02:00
parent ca3c3423b1
commit 48179c3a67
2 changed files with 16 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ package main
import ( import (
"context" "context"
"fmt"
"log" "log"
"sync" "sync"
@@ -23,7 +24,7 @@ var dl = ytdlp.New().
// FormatSort("bestvideo[ext=mp4]+bestaudio[ext=m4a]"). // FormatSort("bestvideo[ext=mp4]+bestaudio[ext=m4a]").
FormatSort("res,ext:mp4:m4a"). FormatSort("res,ext:mp4:m4a").
Output("C:/Users/Administrator/ytdlpVideos/%(uploader)s/%(title)s.%(ext)s"). Output("C:/Users/Administrator/ytdlpVideos/%(uploader)s/%(title)s.%(ext)s").
LimitRate("10M"). LimitRate(fmt.Sprintf("%dM", 100/DOWNLOAD_WORKERS)).
// HTTPChunkSize("20M"). // HTTPChunkSize("20M").
MarkWatched(). MarkWatched().
SponsorblockMark("all"). SponsorblockMark("all").

View File

@@ -2,12 +2,15 @@ package main
import ( import (
"encoding/json" "encoding/json"
"fmt"
"io" "io"
"log" "log"
"net/http" "net/http"
"os" "os"
) )
var Error *log.Logger
var Warning *log.Logger
func init() { func init() {
log.SetFlags(log.Lmicroseconds | log.Lshortfile) log.SetFlags(log.Lmicroseconds | log.Lshortfile)
logFile, err := os.Create("main.log") logFile, err := os.Create("main.log")
@@ -17,10 +20,16 @@ func init() {
} }
logger := io.MultiWriter(os.Stdout, logFile) logger := io.MultiWriter(os.Stdout, logFile)
log.SetOutput(logger) log.SetOutput(logger)
Error = log.New(io.MultiWriter(logFile, os.Stderr, os.Stdout),
fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"),
log.Lmicroseconds|log.Lshortfile)
Warning = log.New(io.MultiWriter(logFile, os.Stdout),
fmt.Sprintf("%sWarning:%s ", "\033[0;93m", "\033[0m"),
log.Lmicroseconds|log.Lshortfile)
} }
const DOWNLOAD_WORKERS = 10 const DOWNLOAD_WORKERS = 4
var downloadQueue = make(chan *DownloadTask, 100) var downloadQueue = make(chan *DownloadTask, 100)
func enableCORS(next http.Handler) http.Handler { func enableCORS(next http.Handler) http.Handler {