catch RuntimeError earlier
This makes it possible to to restart the bot, if there are temporary server issues.
This commit is contained in:
parent
cc29126d61
commit
a37ea13fd1
@ -60,6 +60,13 @@ def _process() -> None:
|
|||||||
msg = 'Got {} in _process(), retrying in 30 seconds...'.format(error.__class__.__name__)
|
msg = 'Got {} in _process(), retrying in 30 seconds...'.format(error.__class__.__name__)
|
||||||
logger.exception(msg)
|
logger.exception(msg)
|
||||||
time.sleep(30)
|
time.sleep(30)
|
||||||
|
except RuntimeError:
|
||||||
|
telegram.send_msg('*Status:* Got RuntimeError:\n```\n{traceback}```{hint}'.format(
|
||||||
|
traceback=traceback.format_exc(),
|
||||||
|
hint='Issue `/start` if you think it is save to restart.'
|
||||||
|
))
|
||||||
|
logger.exception('Got RuntimeError. Stopping trader ...')
|
||||||
|
update_state(State.STOPPED)
|
||||||
|
|
||||||
|
|
||||||
def close_trade_if_fulfilled(trade: Trade) -> bool:
|
def close_trade_if_fulfilled(trade: Trade) -> bool:
|
||||||
@ -254,7 +261,7 @@ def app(config: dict) -> None:
|
|||||||
"""
|
"""
|
||||||
logger.info('Starting freqtrade %s', __version__)
|
logger.info('Starting freqtrade %s', __version__)
|
||||||
init(config)
|
init(config)
|
||||||
try:
|
|
||||||
old_state = get_state()
|
old_state = get_state()
|
||||||
logger.info('Initial State: %s', old_state)
|
logger.info('Initial State: %s', old_state)
|
||||||
telegram.send_msg('*Status:* `{}`'.format(old_state.name.lower()))
|
telegram.send_msg('*Status:* `{}`'.format(old_state.name.lower()))
|
||||||
@ -272,11 +279,6 @@ def app(config: dict) -> None:
|
|||||||
# We need to sleep here because otherwise we would run into bittrex rate limit
|
# We need to sleep here because otherwise we would run into bittrex rate limit
|
||||||
time.sleep(exchange.get_sleep_time())
|
time.sleep(exchange.get_sleep_time())
|
||||||
old_state = new_state
|
old_state = new_state
|
||||||
except RuntimeError:
|
|
||||||
telegram.send_msg(
|
|
||||||
'*Status:* Got RuntimeError:\n```\n{}\n```'.format(traceback.format_exc())
|
|
||||||
)
|
|
||||||
logger.exception('RuntimeError. Trader stopped!')
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
Loading…
Reference in New Issue
Block a user