mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-04 00:48:24 +08:00
Fix cleanup on retries
From redo docs: > cleanup (callable): optional; called if one of retry_exceptions is caught. __No arguments are passed to the cleanup function__; if your cleanup requires arguments, consider using functools.partial or a lambda function.
This commit is contained in:
@@ -655,10 +655,7 @@ class ExchangeTradingAlgorithmLive(ExchangeTradingAlgorithmBase):
|
||||
attempts=self.attempts['synchronize_portfolio_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'ordering again: {}'.format(e)
|
||||
),
|
||||
)
|
||||
cleanup=lambda: log.warn('Ordering again.'))
|
||||
log.info(
|
||||
'got totals from exchanges, cash: {} positions: {}'.format(
|
||||
cash, positions_value
|
||||
@@ -807,11 +804,8 @@ class ExchangeTradingAlgorithmLive(ExchangeTradingAlgorithmBase):
|
||||
attempts=self.attempts['get_open_orders_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'fetching open orders again: {}'.format(e)
|
||||
),
|
||||
args=(asset,)
|
||||
)
|
||||
cleanup=lambda: log.warn('Fetching open orders again.'),
|
||||
args=(asset,))
|
||||
|
||||
@api_method
|
||||
def get_order(self, order_id, exchange_name):
|
||||
@@ -836,11 +830,8 @@ class ExchangeTradingAlgorithmLive(ExchangeTradingAlgorithmBase):
|
||||
attempts=self.attempts['get_order_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'fetching orders again: {}'.format(e)
|
||||
),
|
||||
args=(order_id,)
|
||||
)
|
||||
cleanup=lambda: log.warn('Fetching orders again.'),
|
||||
args=(order_id,))
|
||||
|
||||
@api_method
|
||||
def cancel_order(self, order_param, exchange_name):
|
||||
@@ -862,8 +853,5 @@ class ExchangeTradingAlgorithmLive(ExchangeTradingAlgorithmBase):
|
||||
attempts=self.attempts['cancel_order_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'cancelling order again: {}'.format(e)
|
||||
),
|
||||
args=(order_id,)
|
||||
)
|
||||
cleanup=lambda: log.warn('cancelling order again.'),
|
||||
args=(order_id,))
|
||||
|
||||
@@ -175,9 +175,7 @@ class ExchangeBlotter(Blotter):
|
||||
attempts=self.attempts['order_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'ordering again: {}'.format(e)
|
||||
),
|
||||
cleanup=lambda: log.warn('Ordering again.'),
|
||||
args=(asset, amount, style),
|
||||
)
|
||||
|
||||
@@ -270,7 +268,5 @@ class ExchangeBlotter(Blotter):
|
||||
attempts=self.attempts['get_transactions_attempts'],
|
||||
sleeptime=self.retry_sleeptime,
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'fetching exchange transactions again: {}'.format(e)
|
||||
),
|
||||
)
|
||||
cleanup=lambda: log.warn(
|
||||
'Fetching exchange transactions again.'))
|
||||
|
||||
@@ -92,17 +92,14 @@ class DataPortalExchangeBase(DataPortal):
|
||||
attempts=self.attempts['get_history_window_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'fetching history again: {}'.format(e)
|
||||
),
|
||||
cleanup=lambda: log.warn('fetching history again.'),
|
||||
args=(assets,
|
||||
end_dt,
|
||||
bar_count,
|
||||
frequency,
|
||||
field,
|
||||
data_frequency,
|
||||
ffill)
|
||||
)
|
||||
ffill))
|
||||
|
||||
@abc.abstractmethod
|
||||
def get_exchange_history_window(self,
|
||||
@@ -166,11 +163,8 @@ class DataPortalExchangeBase(DataPortal):
|
||||
attempts=self.attempts['get_spot_value_attempts'],
|
||||
sleeptime=self.attempts['retry_sleeptime'],
|
||||
retry_exceptions=(ExchangeRequestError,),
|
||||
cleanup=lambda e: log.warn(
|
||||
'fetching spot value again: {}'.format(e)
|
||||
),
|
||||
args=(assets, field, dt, data_frequency),
|
||||
)
|
||||
cleanup=lambda: log.warn('fetching spot value again.'),
|
||||
args=(assets, field, dt, data_frequency))
|
||||
|
||||
@abc.abstractmethod
|
||||
def get_exchange_spot_value(self, exchange_name, assets, field, dt,
|
||||
|
||||
Reference in New Issue
Block a user