in aepsych/server.py [0:0]
def start_server(server_class, args):
logger.info("Starting the AEPsychServer")
try:
if args.subparser == "database":
database_path = args.db
if args.list is True:
database = db.Database(database_path)
database.list_master_records()
elif "replay" in args and args.replay is not None:
logger.info(f"Attempting to replay {args.replay}")
if args.resume is True:
sock = createSocket(socket_type=args.socket_type, port=args.port)
logger.info(f"Will resume {args.replay}")
else:
sock = None
startServerAndRun(
server_class,
socket=sock,
database_path=database_path,
uuid_of_replay=args.replay,
config_path=args.stratconfig,
)
elif "update" in args and args.update:
logger.info(f"Updating the database {database_path}")
database = db.Database(database_path)
if database.is_update_required():
database.perform_updates()
logger.info(f"- updated database {database_path}")
else:
logger.info(f"- update not needed for database {database_path}")
else:
logger.info(f"Setting the database path {database_path}")
sock = createSocket(socket_type=args.socket_type, port=args.port)
startServerAndRun(
server_class,
database_path=database_path,
socket=sock,
config_path=args.stratconfig,
)
else:
sock = createSocket(socket_type=args.socket_type, port=args.port)
startServerAndRun(server_class, socket=sock, config_path=args.stratconfig)
except (KeyboardInterrupt, SystemExit):
logger.exception("Got Ctrl+C, exiting!")
sys.exit()
except RuntimeError as e:
fname = get_next_filename(".", "dump", "pkl")
logger.exception(f"CRASHING!! dump in {fname}")
raise RuntimeError(e)