Make sure transactions are reset

closes #5719
This commit is contained in:
Matthias 2021-10-16 17:57:51 +02:00
parent dcefb3eb9c
commit 5ba1d66be7
2 changed files with 5 additions and 1 deletions

View File

@ -1,5 +1,6 @@
from typing import Any, Dict, Optional
from freqtrade.persistence import Trade
from freqtrade.rpc.rpc import RPC, RPCException
from .webserver import ApiServer
@ -14,6 +15,7 @@ def get_rpc_optional() -> Optional[RPC]:
def get_rpc() -> Optional[RPC]:
_rpc = get_rpc_optional()
if _rpc:
Trade.query.session.rollback()
return _rpc
else:
raise RPCException('Bot is not in the correct state')

View File

@ -25,6 +25,7 @@ from freqtrade.constants import DUST_PER_COIN
from freqtrade.enums import RPCMessageType
from freqtrade.exceptions import OperationalException
from freqtrade.misc import chunks, plural, round_coin_value
from freqtrade.persistence import Trade
from freqtrade.rpc import RPC, RPCException, RPCHandler
@ -59,7 +60,8 @@ def authorized_only(command_handler: Callable[..., None]) -> Callable[..., Any]:
update.message.chat_id
)
return wrapper
# Rollback session to avoid getting data stored in a transaction.
Trade.query.session.rollback()
logger.debug(
'Executing handler: %s for chat_id: %s',
command_handler.__name__,