From f98e2ed79456ea1b1757fc6b20915e76b88da41f Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Thu, 18 Aug 2022 12:04:00 +0200 Subject: [PATCH] src/api/eosio_contract.go: use utils.Time --- src/api/eosio_contract.go | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/src/api/eosio_contract.go b/src/api/eosio_contract.go index 1535b3f..a53cd20 100644 --- a/src/api/eosio_contract.go +++ b/src/api/eosio_contract.go @@ -3,15 +3,15 @@ package api import ( "fmt" - "time" + "github.com/eosswedenorg/eosio-api-healthcheck/src/utils" "github.com/eosswedenorg-go/haproxy/agentcheck" contract_api "github.com/eosswedenorg-go/eos-contract-api-client" ) type EosioContract struct { + utils.Time client contract_api.Client block_time float64 - ts time.Time } func NewEosioContract(url string, block_time float64) EosioContract { @@ -31,18 +31,6 @@ func (e EosioContract) LogInfo() LogParams { } } -func (e *EosioContract) SetTime(t time.Time) { - e.ts = t -} - -func (e EosioContract) GetTime() time.Time { - - if e.ts.IsZero() { - return time.Now().In(time.UTC) - } - return e.ts -} - func (e EosioContract) Call() (agentcheck.Response, string) { h, err := e.client.GetHealth() @@ -54,16 +42,13 @@ func (e EosioContract) Call() (agentcheck.Response, string) { // Check HTTP Status Code if h.HTTPStatusCode > 299 { resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "") - msg := "Taking offline because %v was received from backend" return resp, fmt.Sprintf(msg, h.HTTPStatusCode) } // Check postgres if h.Data.Postgres.Status != "OK" { - resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "") - msg := "Taking offline because Postgres reported '%s'" return resp, fmt.Sprintf(msg, h.Data.Postgres.Status) } @@ -71,24 +56,19 @@ func (e EosioContract) Call() (agentcheck.Response, string) { // Check redis if h.Data.Redis.Status != "OK" { resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "") - msg := "Taking offline because Redis reported '%s'" return resp, fmt.Sprintf(msg, h.Data.Redis.Status) } // Validate head block. - now := e.GetTime() - diff := now.Sub(h.Data.Chain.HeadTime).Seconds() + diff := e.GetTime().Sub(h.Data.Chain.HeadTime).Seconds() if diff > e.block_time { resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "") - msg := "Taking offline because head block is lagging %.0f seconds" return resp, fmt.Sprintf(msg, diff) } else if diff < -e.block_time { - resp := agentcheck.NewStatusMessageResponse(agentcheck.Down, "") - msg := "Taking offline because head block is %.0f seconds into the future" return resp, fmt.Sprintf(msg, diff) }