package
1.0.36
Repository: https://github.com/axgrid/axutils.git
Documentation: pkg.go.dev

# README

axutils

axutils - это библиотека Go, предоставляющая различные утилиты для работы с каналами, коллекциями, криптографией, параллельным выполнением задач и другими часто используемыми структурами данных. Эта библиотека разработана для упрощения работы с асинхронными операциями, обработкой данных и безопасностью в Go-приложениях.

Установка

Для установки библиотеки используйте команду:

go get github.com/axgrid/axutils

Утилиты для параллельного выполнения задач

Пакет workers в axutils предоставляет инструменты для управления параллельным выполнением задач.

Runner

Runner - это структура, которая позволяет запускать функции параллельно в пуле горутин.

Основные возможности:

  • Параллельное выполнение задач в пуле горутин
  • Возможность запуска функций без контекста и с контекстом
  • Настраиваемое количество рабочих горутин
  • Буферизация задач

Пример использования:

runner := workers.NewRunner().
    WithWorkerCount(10).
    Build()

// Запуск функции без контекста
runner.Run(func() {
    fmt.Println("Hello from runner!")
})

// Запуск функции с контекстом
runner.RunWithContext(func(ctx context.Context) {
    select {
    case <-ctx.Done():
        fmt.Println("Context cancelled")
    case <-time.After(time.Second):
        fmt.Println("Task completed")
    }
})

Создание Runner с пользовательскими настройками:

ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
defer cancel()

runner := workers.NewRunner().
    WithContext(ctx).
    WithWorkerCount(20).
    Build()

// Использование runner...

Runner автоматически завершит выполнение всех задач при отмене контекста.

Заключение

Библиотека axutils предоставляет широкий набор инструментов для эффективной работы с данными, асинхронными операциями, криптографией и параллельным выполнением задач в Go. Использование этих утилит может значительно упростить разработку, повысить производительность и безопасность ваших приложений.

Для получения дополнительной информации о других утилитах библиотеки, пожалуйста, обратитесь к документации кода или примерам использования.

# Functions

No description provided by the author

# Structs

No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author