mirror of
https://github.com/ilanyu/ReverseProxy.git
synced 2024-04-21 12:41:56 +00:00
fix CPU high usage on docker
This commit is contained in:
@@ -6,9 +6,9 @@ import (
|
||||
"net/http/httputil"
|
||||
"log"
|
||||
"net"
|
||||
"context"
|
||||
"time"
|
||||
"io/ioutil"
|
||||
"context"
|
||||
)
|
||||
|
||||
type handle struct {
|
||||
@@ -21,7 +21,6 @@ func (this *handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
dialer := &net.Dialer{
|
||||
Timeout: 30 * time.Second,
|
||||
KeepAlive: 30 * time.Second,
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
"bufio"
|
||||
"os"
|
||||
"strings"
|
||||
"log"
|
||||
)
|
||||
|
||||
var srv http.Server
|
||||
@@ -15,16 +12,15 @@ func StartServer(bind string, remote string) {
|
||||
h := &handle{reverseProxy: remote}
|
||||
srv.Addr = bind
|
||||
srv.Handler = h
|
||||
|
||||
go func() {
|
||||
//go func() {
|
||||
if err := srv.ListenAndServe(); err != nil {
|
||||
log.Fatalln("ListenAndServe: ", err)
|
||||
}
|
||||
}()
|
||||
//}()
|
||||
}
|
||||
|
||||
func StopServer() {
|
||||
if err := srv.Close() ; err != nil {
|
||||
if err := srv.Shutdown(nil) ; err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
}
|
||||
@@ -32,16 +28,4 @@ func StopServer() {
|
||||
func main() {
|
||||
cmd := parseCmd()
|
||||
StartServer(cmd.bind, cmd.remote)
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
for {
|
||||
str, err := reader.ReadString('\n')
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
if strings.TrimSpace(str) == "stop" {
|
||||
log.Println("will stop server")
|
||||
StopServer()
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user