From a0aae23bf3882427ee51f8f033b11357dfa01fcc Mon Sep 17 00:00:00 2001 From: chiahung Date: Fri, 14 Apr 2023 18:30:38 +0800 Subject: [PATCH] FIX: fix emit ready twice and add error log --- pkg/strategy/grid2/recover.go | 8 ++------ pkg/strategy/grid2/strategy.go | 1 + 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkg/strategy/grid2/recover.go b/pkg/strategy/grid2/recover.go index 33f9d9389..877cd24c2 100644 --- a/pkg/strategy/grid2/recover.go +++ b/pkg/strategy/grid2/recover.go @@ -58,13 +58,12 @@ func (s *Strategy) recoverByScanningTrades(ctx context.Context, session *bbgo.Ex return errors.Wrap(err, "grid recover error") } - // emit ready after recover - s.EmitGridReady() - // debug and send metrics // wait for the reverse order to be placed time.Sleep(2 * time.Second) debugGrid(s.logger, s.grid, s.orderExecutor.ActiveMakerOrders()) + // emit ready after recover + s.EmitGridReady() s.updateGridNumOfOrdersMetricsWithLock() s.updateOpenOrderPricesMetrics(s.orderExecutor.ActiveMakerOrders().Orders()) @@ -88,9 +87,6 @@ func (s *Strategy) recoverWithOpenOrdersByScanningTrades(ctx context.Context, hi s.debugLog("open orders nums: %d, expected nums: %d", numGridOpenOrders, expectedNumOfOrders) if expectedNumOfOrders == numGridOpenOrders { // no need to recover - s.EmitGridReady() - s.updateGridNumOfOrdersMetricsWithLock() - s.updateOpenOrderPricesMetrics(s.orderExecutor.ActiveMakerOrders().Orders()) return nil } else if expectedNumOfOrders < numGridOpenOrders { return fmt.Errorf("amount of grid's open orders should not > amount of expected grid's orders") diff --git a/pkg/strategy/grid2/strategy.go b/pkg/strategy/grid2/strategy.go index 11cfec1eb..9c9ef4356 100644 --- a/pkg/strategy/grid2/strategy.go +++ b/pkg/strategy/grid2/strategy.go @@ -1941,6 +1941,7 @@ func (s *Strategy) startProcess(ctx context.Context, session *bbgo.ExchangeSessi s.logger.Infof("recoverWhenStart is set, trying to recover grid orders...") if err := s.recoverGrid(ctx, session); err != nil { // if recover fail, return and do not open grid + s.logger.WithError(err).Error("failed to start process, recover error") s.EmitGridError(errors.Wrapf(err, "failed to start process, recover error")) return }