sless-primer/POSTGRES/code/stress-go-fast/handler.go
Naeel 9c7d634986 feat(POSTGRES): stress-тесты — 10 сервисов, full_test.sh 48/48 PASS
- stress.tf: 10 новых sless_service (Go: fast/nil/pgstorm, Node: async/badenv, Python: slow/bigloop/divzero/writer/pg-stats)
- full_test.sh: 4 фазы — CRUD / функциональные / PG-стресс / краш-шторм (48 тестов)
- stress-go-fast/handler.go: удалён дублирующий заголовок package (баг сборки)

Результат: 48/48 PASS
- 40× parallel writer 40/40 OK (ThreadingHTTPServer + backlog=128)
- 75× краш-шторм → 75× HTTP 500 (паники не роняют платформу)
2026-03-21 08:45:19 +03:00

43 lines
837 B
Go

// 2026-03-19
// handler.go — быстрая Go функция: факториал + числа Фибоначчи.
// Проверяет Go runtime под лёгкой нагрузкой и корректность JSON-ответа.
// Entrypoint: handler.Handle
package handler
import "fmt"
func factorial(n int) uint64 {
if n <= 1 {
return 1
}
return uint64(n) * factorial(n-1)
}
func fib(n int) int {
if n <= 1 {
return n
}
a, b := 0, 1
for i := 2; i <= n; i++ {
a, b = b, a+b
}
return b
}
func Handle(event map[string]interface{}) interface{} {
n := 10
if v, ok := event["n"].(float64); ok {
n = int(v)
if n > 20 {
n = 20
}
}
return map[string]interface{}{
"runtime": "go1.23",
"version": "v1",
"n": n,
"factorial": fmt.Sprintf("%d", factorial(n)),
"fib": fib(n),
}
}