Skip to content

Latest commit

 

History

History
24 lines (21 loc) · 2.27 KB

README.md

File metadata and controls

24 lines (21 loc) · 2.27 KB

Запись в шарды файла.

Пакет предоставляет реализацию интерфейса github.com/D3rus/go-library/file/Writer которая находится в файле writer.go.

Пакет предоставляет метод New(directory string, namer file.Namer, rotator file.Rotator, options ...file.WriterOption), options - является опциональным аргументом, пакет предоставляет следующие методы опций:

  • WithChangeShardRepeatWrite - автоматически проводит повторную запись данных, если была смена активного шарда файла, основывает свою логику на ошибке github.com/D3rus/go-library/file/ChangedNextShardError;
  • WithWriteBytesLength - записывает в метрику, кол. записанных байтов;
  • WithFileCount - записывает в метрику, кол. новых созданных файлов;
  • WithCompressLZ4 - сжимает данные алгоритмом LZ4;
  • WithArchiveTarGZ - сжимает файл, после его освобождения, в архив tar.gz;
  • WithArchiveZIP - сжимает файл, после его освобождения, в архив zip;
  • WithArchive - сжимает файл в архив, тип архива выбирается автоматически, для Unix подобных систем tar.gz, для Windows zip;
  • WithCheckDirectory - проверяет директорию для записи файлов на существование и доступность, если директория не существует, создает её;
  • WithChangeShardErrorIgnore - игнорирует ошибку github.com/D3rus/go-library/file/ChangedNextShardError.

Важно. Опции будут примениться в том порядке, в котором они были переданы, из-за этого, такие опции как:

  • WithChangeShardRepeatWrite

должны быть переданы, до опции WithChangeShardErrorIgnore, для их нормальной работы.