Browse Source

Update Fiber (#5581)

* Bumb Fiber v1.8.2

* Update go.mod

* Bumb v1.8.33

* Update go.mod

* Update versions

Co-authored-by: Fenny <[email protected]>
Fenny 5 years ago
parent
commit
8b64ec19f6
2 changed files with 22 additions and 25 deletions
  1. 4 4
      frameworks/Go/fiber/src/go.mod
  2. 18 21
      frameworks/Go/fiber/src/server.go

+ 4 - 4
frameworks/Go/fiber/src/go.mod

@@ -1,8 +1,8 @@
 module fiber
 module fiber
 
 
-go 1.13
+go 1.14
 
 
 require (
 require (
-	github.com/gofiber/fiber v1.8.42
-	github.com/jackc/pgx/v4 v4.5.0
-)
+	github.com/gofiber/fiber v1.8.431
+	github.com/jackc/pgx/v4 v4.6.0
+)

+ 18 - 21
frameworks/Go/fiber/src/server.go

@@ -15,6 +15,15 @@ import (
 	"github.com/jackc/pgx/v4/pgxpool"
 	"github.com/jackc/pgx/v4/pgxpool"
 )
 )
 
 
+var db *pgxpool.Pool
+
+const (
+	worldcount     = 10000
+	helloworld     = "Hello, World!"
+	worldselectsql = "SELECT id, randomNumber FROM World WHERE id = $1"
+	worldupdatesql = "UPDATE World SET randomNumber = $1 WHERE id = $2"
+)
+
 func main() {
 func main() {
 
 
 	initDatabase()
 	initDatabase()
@@ -34,17 +43,6 @@ func main() {
 	app.Listen(8080)
 	app.Listen(8080)
 }
 }
 
 
-const (
-	worldcount     = 10000
-	helloworld     = "Hello, World!"
-	worldselectsql = "SELECT id, randomNumber FROM World WHERE id = $1"
-	worldupdatesql = "UPDATE World SET randomNumber = $1 WHERE id = $2"
-)
-
-var (
-	db *pgxpool.Pool
-)
-
 // Message ...
 // Message ...
 type Message struct {
 type Message struct {
 	Message string `json:"message"`
 	Message string `json:"message"`
@@ -55,7 +53,7 @@ type Worlds []World
 
 
 // World ...
 // World ...
 type World struct {
 type World struct {
-	Id           int32 `json:"id"`
+	ID           int32 `json:"id"`
 	RandomNumber int32 `json:"randomNumber"`
 	RandomNumber int32 `json:"randomNumber"`
 }
 }
 
 
@@ -91,7 +89,7 @@ func AcquireWorld() *World {
 
 
 // ReleaseWorld ...
 // ReleaseWorld ...
 func ReleaseWorld(w *World) {
 func ReleaseWorld(w *World) {
-	w.Id = 0
+	w.ID = 0
 	w.RandomNumber = 0
 	w.RandomNumber = 0
 	WorldPool.Put(w)
 	WorldPool.Put(w)
 }
 }
@@ -126,9 +124,8 @@ func initDatabase() {
 	if maxConn == 0 {
 	if maxConn == 0 {
 		maxConn = 8
 		maxConn = 8
 	}
 	}
-	maxConn = maxConn * 4
-	if child {
-		maxConn = runtime.NumCPU()
+	if !child {
+		maxConn = maxConn * 4
 	}
 	}
 
 
 	var err error
 	var err error
@@ -149,7 +146,7 @@ func jsonHandler(c *fiber.Ctx) {
 // dbHandler :
 // dbHandler :
 func dbHandler(c *fiber.Ctx) {
 func dbHandler(c *fiber.Ctx) {
 	w := AcquireWorld()
 	w := AcquireWorld()
-	db.QueryRow(context.Background(), worldselectsql, RandomWorld()).Scan(&w.Id, &w.RandomNumber)
+	db.QueryRow(context.Background(), worldselectsql, RandomWorld()).Scan(&w.ID, &w.RandomNumber)
 	c.JSON(w)
 	c.JSON(w)
 	ReleaseWorld(w)
 	ReleaseWorld(w)
 }
 }
@@ -160,7 +157,7 @@ func queriesHandler(c *fiber.Ctx) {
 	worlds := AcquireWorlds()[:n]
 	worlds := AcquireWorlds()[:n]
 	for i := 0; i < n; i++ {
 	for i := 0; i < n; i++ {
 		w := &worlds[i]
 		w := &worlds[i]
-		db.QueryRow(context.Background(), worldselectsql, RandomWorld()).Scan(&w.Id, &w.RandomNumber)
+		db.QueryRow(context.Background(), worldselectsql, RandomWorld()).Scan(&w.ID, &w.RandomNumber)
 	}
 	}
 	c.JSON(Worlds(worlds))
 	c.JSON(Worlds(worlds))
 	ReleaseWorlds(worlds)
 	ReleaseWorlds(worlds)
@@ -172,17 +169,17 @@ func updateHandler(c *fiber.Ctx) {
 	worlds := AcquireWorlds()[:n]
 	worlds := AcquireWorlds()[:n]
 	for i := 0; i < n; i++ {
 	for i := 0; i < n; i++ {
 		w := &worlds[i]
 		w := &worlds[i]
-		db.QueryRow(context.Background(), worldselectsql, RandomWorld()).Scan(&w.Id, &w.RandomNumber)
+		db.QueryRow(context.Background(), worldselectsql, RandomWorld()).Scan(&w.ID, &w.RandomNumber)
 		w.RandomNumber = int32(RandomWorld())
 		w.RandomNumber = int32(RandomWorld())
 	}
 	}
 	// sorting is required for insert deadlock prevention.
 	// sorting is required for insert deadlock prevention.
 	sort.Slice(worlds, func(i, j int) bool {
 	sort.Slice(worlds, func(i, j int) bool {
-		return worlds[i].Id < worlds[j].Id
+		return worlds[i].ID < worlds[j].ID
 	})
 	})
 
 
 	batch := pgx.Batch{}
 	batch := pgx.Batch{}
 	for _, w := range worlds {
 	for _, w := range worlds {
-		batch.Queue(worldupdatesql, w.RandomNumber, w.Id)
+		batch.Queue(worldupdatesql, w.RandomNumber, w.ID)
 	}
 	}
 	db.SendBatch(context.Background(), &batch).Close()
 	db.SendBatch(context.Background(), &batch).Close()
 	c.JSON(Worlds(worlds))
 	c.JSON(Worlds(worlds))