stable/freqtrade/commands/trade_commands.py

43 lines
1.1 KiB
Python
Raw Normal View History

import logging
from typing import Any, Dict
2021-04-01 05:49:54 +00:00
logger = logging.getLogger(__name__)
def start_trading(args: Dict[str, Any]) -> int:
"""
Main entry point for trading mode
"""
2020-01-26 23:49:25 +00:00
# Import here to avoid loading worker module when it's not used
from freqtrade.worker import Worker
2020-01-26 23:49:25 +00:00
# Create and run worker
worker = None
try:
worker = Worker(args)
worker.run()
except Exception as e:
logger.error(str(e))
logger.exception("Fatal exception!")
except KeyboardInterrupt:
logger.info('SIGINT received, aborting ...')
finally:
if worker:
logger.info("worker found ... calling exit")
worker.exit()
return 0
2020-05-22 17:57:17 +00:00
2020-12-31 19:02:27 +00:00
def start_webserver(args: Dict[str, Any]) -> None:
2020-05-22 17:57:17 +00:00
"""
Main entry point for webserver mode
"""
2020-12-31 19:02:27 +00:00
from freqtrade.configuration import Configuration
from freqtrade.enums import RunMode
2021-04-01 05:49:54 +00:00
from freqtrade.rpc.api_server import ApiServer
2020-05-22 17:57:17 +00:00
2020-12-31 19:02:27 +00:00
# Initialize configuration
config = Configuration(args, RunMode.WEBSERVER).get_config()
ApiServer(config, standalone=True)