2 Commits

Author SHA1 Message Date
matst80
0837be452e Merge branch 'main' of git-ssh.tornberg.me:mats/go-cart-actor
Some checks failed
Build and Publish / BuildAndDeployAmd64 (push) Successful in 28s
Build and Publish / BuildAndDeploy (push) Has been cancelled
2024-11-15 09:29:00 +01:00
matst80
00d65035d0 update 2024-11-15 09:28:58 +01:00
3 changed files with 9 additions and 32 deletions

View File

@@ -59,6 +59,7 @@ func ErrorHandler(fn func(w http.ResponseWriter, r *http.Request) error) func(w
func (s *PoolServer) WriteResult(w http.ResponseWriter, result *FrameWithPayload) error {
w.Header().Set("Content-Type", "application/json")
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("X-Pod-Name", s.pod_name)
w.Header().Set("Access-Control-Allow-Origin", "https://tornberg.me")
if result.StatusCode != 200 {
@@ -251,6 +252,12 @@ func (s *PoolServer) HandleCheckout(w http.ResponseWriter, r *http.Request) erro
func (s *PoolServer) Serve() *http.ServeMux {
mux := http.NewServeMux()
mux.HandleFunc("OPTIONS /{id}", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "GET, POST, DELETE")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
w.WriteHeader(http.StatusOK)
})
mux.HandleFunc("GET /{id}", ErrorHandler(s.HandleGet))
mux.HandleFunc("GET /{id}/add/{sku}", ErrorHandler(s.HandleAddSku))
mux.HandleFunc("POST /{id}", ErrorHandler(s.HandleAddRequest))

View File

@@ -3,9 +3,6 @@ package main
import (
"fmt"
"strings"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
func (id CartId) String() string {
@@ -54,33 +51,6 @@ func NewRemoteGrain(id CartId, host string) (*RemoteGrain, error) {
}, nil
}
var (
remoteCartLatency = promauto.NewCounter(prometheus.CounterOpts{
Name: "cart_remote_grain_calls_total_latency",
Help: "The total latency of remote grains",
})
remoteCartCallsTotal = promauto.NewCounter(prometheus.CounterOpts{
Name: "cart_remote_grain_calls_total",
Help: "The total number of calls to remote grains",
})
)
// var start time.Time
// func MeasureLatency(fn func() (*CallResult, error)) (*CallResult, error) {
// start = time.Now()
// data, err := fn()
// if err != nil {
// return data, err
// }
// elapsed := time.Since(start).Milliseconds()
// go func() {
// remoteCartLatency.Add(float64(elapsed))
// remoteCartCallsTotal.Inc()
// }()
// return data, nil
// }
func (g *RemoteGrain) HandleMessage(message *Message, isReplay bool) (*FrameWithPayload, error) {
data, err := GetData(message.Write)

View File

@@ -24,7 +24,7 @@ func (h *RemoteHost) Initialize(p *SyncedPool) {
return
}
log.Printf("Remote %s has %d grains\n", h.Host, len(ids))
p.mu.Lock()
local := 0
remoteNo := 0
for _, id := range ids {
@@ -32,7 +32,7 @@ func (h *RemoteHost) Initialize(p *SyncedPool) {
remoteNo++
}
log.Printf("Removed %d local grains, added %d remote grains\n", local, remoteNo)
p.mu.Unlock()
go p.Negotiate()
}