Skip to content

A highly configurable Go library for rate-limiting, task scheduling, and priority-based execution with retries, backoff, and circuit breaking capabilities.

License

Notifications You must be signed in to change notification settings

gopal96685/throttler

Repository files navigation

Throttler

Go Reference
License
📖 Read the full article on Medium

Throttler is a Go library for managing task execution with features like:

  • Rate Limiting to handle API or database constraints.
  • Task Scheduling with retries, backoff, and priority management.
  • Circuit Breaking to avoid cascading failures.

Features

  • Flexible APIs for defining tasks: Use closures or the Executable interface.
  • Automatic retry with backoff for failed tasks.
  • Rate limit enforcement to handle throughput-heavy workloads.
  • Priority-based task execution with first-in-first-out (FIFO) fallback.
  • Built-in metrics collection for monitoring queue size and execution.

Installation

go get github.com/gopal96685/throttler

About

A highly configurable Go library for rate-limiting, task scheduling, and priority-based execution with retries, backoff, and circuit breaking capabilities.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages