def get_user_market(config_path, user_id, debug=False):
pg_config, report_path = parse_config(config_path)
- market_config = list(fetch_markets(pg_config, str(user_id)))[0][1]
+ 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, user_id=user_id, report_path=report_path)
+ return market.Market.from_config(market_config, args,
+ pg_config=pg_config, market_id=market_id,
+ user_id=user_id, report_path=report_path)
def fetch_markets(pg_config, user):
connection = psycopg2.connect(**pg_config)
return args
-def process(market_id, market_config, user_id, report_path, args, pg_config):
+def process(market_config, market_id, user_id, args, report_path, pg_config):
try:
market.Market\
.from_config(market_config, args,
import threading
market.Portfolio.start_worker()
- for row in fetch_markets(pg_config, args.user):
- threading.Thread(target=process, args=[
- *row, report_path, args, pg_config
- ]).start()
+ def process_(*args):
+ threading.Thread(target=process, args=args).start()
else:
- for row in fetch_markets(pg_config, args.user):
- process(*row, report_path, args, pg_config)
+ process_ = process
+
+ for market_id, market_config, user_id in fetch_markets(pg_config, args.user):
+ process_(market_config, market_id, user_id, args, report_path, pg_config)
if __name__ == '__main__': # pragma: no cover
main(sys.argv[1:])