diff --git a/engine/order_manager.go b/engine/order_manager.go index 564c1d6e..938853e6 100644 --- a/engine/order_manager.go +++ b/engine/order_manager.go @@ -108,21 +108,17 @@ func (m *OrderManager) gracefulShutdown() { // run will periodically process orders func (m *OrderManager) run() { log.Debugln(log.OrderMgr, "Order manager started.") - timer := time.NewTimer(orderManagerDelay) + m.processOrders() for { select { case <-m.shutdown: m.gracefulShutdown() - if !timer.Stop() { - <-timer.C - } m.orderStore.wg.Done() log.Debugln(log.OrderMgr, "Order manager shutdown.") return - case <-timer.C: + case <-time.After(orderManagerInterval): // Process orders go routine allows shutdown procedures to continue go m.processOrders() - timer.Reset(orderManagerDelay) } } } diff --git a/engine/order_manager_types.go b/engine/order_manager_types.go index dd2029d5..b312dce5 100644 --- a/engine/order_manager_types.go +++ b/engine/order_manager_types.go @@ -24,7 +24,7 @@ var ( errNilCommunicationsManager = errors.New("cannot start with nil communications manager") errNilOrder = errors.New("nil order received") errFuturesTrackingDisabled = errors.New("tracking futures positions disabled. enable it via config under orderManager activelyTrackFuturesPositions") - orderManagerDelay = time.Second * 10 + orderManagerInterval = time.Second * 10 defaultOrderSeekTime = -time.Hour * 24 * 365 )