docs: def _determine_chunk_to_make(write_dir):
      """
      Returns the full path of the chunk to make (gs://...)
      and a boolean, indicating whether we should wait for a new model
      or if we're 'behind' and should just write out our current chunk immediately
      True == write immediately.
      """
      models = fsdb.get_models()
      # Last model is N.  N+1 (should be) training.  We should gather games for N+2.
      chunk_to_make = os.path.join(write_dir, str(
          models[-1][0] + 1) + '.tfrecord.zz')
      if not tf.gfile.Exists(chunk_to_make):
          # N+1 is missing.  Write it out ASAP
          print("Making chunk ASAP:", chunk_to_make)
          return chunk_to_make, True
      chunk_to_make = os.path.join(write_dir, str(
          models[-1][0] + 2) + '.tfrecord.zz')
      while tf.gfile.Exists(chunk_to_make):
          print("Chunk for next model ({}) already exists. Sleeping.".format(
              chunk_to_make))
          time.sleep(5 * 60)
          models = fsdb.get_models()
          chunk_to_make = os.path.join(write_dir, str(
              models[-1][0] + 2) + '.tfrecord.zz')
      print("Making chunk:", chunk_to_make)
  
      return chunk_to_make, False