docs: def play(file_path, host=jps.env.get_master_host(), pub_port=jps.DEFAULT_PUB_PORT):
      '''replay the recorded data by record()
      '''
      pub = jps.Publisher('*', host=host, pub_port=pub_port)
      time.sleep(0.2)
      last_time = None
      print('start publishing file {}'.format(file_path))
      with open(file_path, 'r') as f:
          # super hack to remove header
          f.readline()
          f.readline()
          for line in f:
              if line.startswith(']}'):
                  break
              publish_time, raw_msg = json.loads(line.rstrip(',\n'))
              if last_time is not None:
                  time.sleep(publish_time - last_time)
              pub.publish(raw_msg.rstrip())
              last_time = publish_time
      print('fnished')