

def flush(self):
    'Flush pool contents.'
    buf = _StringWriter()
    with records.RecordsWriter(buf) as w:
        for record in self._buffer:
            w.write(record)
    str_buf = buf.to_string()
    if ((not self._exclusive) and (len(str_buf) > _FILES_API_MAX_SIZE)):
        raise errors.Error(("Buffer too big. Can't write more than %s bytes in one request: risk of writes interleaving. Got: %s" % (_FILES_API_MAX_SIZE, len(str_buf))))
    start_time = time.time()
    with files.open(self._filename, 'a', exclusive_lock=self._exclusive) as f:
        f.write(str_buf)
        if self._ctx:
            operation.counters.Increment(COUNTER_IO_WRITE_BYTES, len(str_buf))(self._ctx)
    if self._ctx:
        operation.counters.Increment(COUNTER_IO_WRITE_MSEC, int(((time.time() - start_time) * 1000)))(self._ctx)
    self._buffer = []
    start_time._size = 0
    gc.collect()

dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/ext/mapreduce/output_writers.py RecordsPool.flush/VarMisuse@208/319 `self`->`start_time`