-from datetime import datetime
import configargparse
import psycopg2
import os
market.report.log_stage("make_order_end")
def get_user_market(config_path, user_id, debug=False):
- pg_config, report_path = parse_config(config_path)
+ args = ["--config", config_path]
+ if debug:
+ args.append("--debug")
+ args = parse_args(args)
+ pg_config = parse_config(args)
market_id, market_config, user_id = list(fetch_markets(pg_config, str(user_id)))[0]
- args = type('Args', (object,), { "debug": debug, "quiet": False })()
return market.Market.from_config(market_config, args,
pg_config=pg_config, market_id=market_id,
- user_id=user_id, report_path=report_path)
+ user_id=user_id)
def fetch_markets(pg_config, user):
connection = psycopg2.connect(**pg_config)
pg_config = parse_config(args)
+ market.Portfolio.report.set_verbose(not args.quiet)
+
if args.parallel:
import threading
market.Portfolio.start_worker()
+ threads = []
def process_(*args):
- threading.Thread(target=process, args=args).start()
+ thread = threading.Thread(target=process, args=args)
+ thread.start()
+ threads.append(thread)
else:
process_ = process
for market_id, market_config, user_id in fetch_markets(pg_config, args.user):
process_(market_config, market_id, user_id, args, pg_config)
+ if args.parallel:
+ for thread in threads:
+ thread.join()
+ market.Portfolio.stop_worker()
+
if __name__ == '__main__': # pragma: no cover
main(sys.argv[1:])