add fetch_length and prefetch varaible

This commit is contained in:
jasinco 2025-06-04 18:55:59 +08:00
parent 604b54df1a
commit 50690f9f94
3 changed files with 31 additions and 3 deletions

View file

@ -36,13 +36,13 @@ func Fetch_post(c *fiber.Ctx) error {
var rec []nimdb.GetPostRow var rec []nimdb.GetPostRow
var err error var err error
if len(cursor) == 0 { if len(cursor) == 0 {
rec, err = internal.NIMDB.GetPost(ctx, 10) rec, err = internal.NIMDB.GetPost(ctx, internal.FETCH_LENGTH)
if err != nil { if err != nil {
log.Println(err) log.Println(err)
return fiber.ErrInternalServerError return fiber.ErrInternalServerError
} }
} else if cursor_num, err := strconv.Atoi(cursor); err == nil { } else if cursor_num, err := strconv.Atoi(cursor); err == nil {
rec_cur, err := internal.NIMDB.GetPostWithCursor(ctx, nimdb.GetPostWithCursorParams{ID: int32(cursor_num), Limit: 10}) rec_cur, err := internal.NIMDB.GetPostWithCursor(ctx, nimdb.GetPostWithCursorParams{ID: int32(cursor_num), Limit: internal.FETCH_LENGTH})
if err != nil { if err != nil {
log.Println(err) log.Println(err)
return c.Status(500).SendString("Failed to Query DB") return c.Status(500).SendString("Failed to Query DB")

View file

@ -3,12 +3,17 @@ package internal
import ( import (
"errors" "errors"
"os" "os"
"strconv"
) )
var ( var (
SALT string SALT string
POSTGRES_URL string POSTGRES_URL string
JWT_SECRET string JWT_SECRET string
FETCH_LENGTH int32
PREFORK bool
err error
conv int64
) )
func ReadFromENV() error { func ReadFromENV() error {
@ -24,5 +29,28 @@ func ReadFromENV() error {
if len(JWT_SECRET) < 10 { if len(JWT_SECRET) < 10 {
return errors.New("INVALID JWT SECRET") return errors.New("INVALID JWT SECRET")
} }
fetch_len_str := os.Getenv("FETCH_LENGTH")
if len(fetch_len_str) == 0 {
FETCH_LENGTH = 10
} else {
conv, err = strconv.ParseInt(fetch_len_str, 10, 32)
if err != nil {
return err
}
if conv < 1 {
return errors.New("FETCH_LENGTH should be a positive number as well over 0")
}
FETCH_LENGTH = int32(conv)
}
prefork_str := os.Getenv("PREFORK")
if len(prefork_str) == 0 {
PREFORK = false
} else {
PREFORK, err = strconv.ParseBool(prefork_str)
if err != nil {
return err
}
}
return nil return nil
} }

View file

@ -30,7 +30,7 @@ func main() {
internal.POOL = dbpool internal.POOL = dbpool
internal.NIMDB = nimdb.New(dbpool) internal.NIMDB = nimdb.New(dbpool)
app := fiber.New() app := fiber.New(fiber.Config{Prefork: internal.PREFORK})
app.Get("/", func(c *fiber.Ctx) error { app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!") return c.SendString("Hello, World!")