parser.add_argument("--action",
action='append',
help="Do a different action than trading (add several times to chain)")
+ parser.add_argument("--parallel", action='store_true', default=True, dest="parallel")
+ parser.add_argument("--no-parallel", action='store_false', dest="parallel")
args = parser.parse_args(argv)
pg_config, report_path = parse_config(args.config)
- for market_config, user_id in fetch_markets(pg_config, args.user):
- process(market_config, user_id, report_path, args)
+ if args.parallel:
+ import threading
+ market.Portfolio.start_worker()
+
+ for market_config, user_id in fetch_markets(pg_config, args.user):
+ threading.Thread(target=process, args=[market_config, user_id, report_path, args]).start()
+ else:
+ for market_config, user_id in fetch_markets(pg_config, args.user):
+ process(market_config, user_id, report_path, args)
if __name__ == '__main__': # pragma: no cover
main(sys.argv[1:])