import pykx as kx

import sys

try:
    args = sys.argv[1]
except BaseException:
    args=''
n = 1 if args=='' else int(args)

print('Starting Data Feed ...')
init = False


def main():
    global init
    symlist = ['AAPL', 'JPM', 'GOOG', 'BRK', 'WPO', 'IBM']
    while True:
        trade = [kx.random.random(n, symlist),
                 10 * kx.random.random(n, 10.0),
                 10 * kx.random.random(n, 100)
                 ]
        with kx.SyncQConnection(port=5010, wait=False, no_ctx=True) as q:
            q('.u.upd', 'trade', trade)
        if not init:
            print('First message(s) sent, data-feed publishing ...')
            init=True


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print('Data feed stopped')
