gopal96685 / throttler

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

Repository from Github https://github.comgopal96685/throttlerRepository from Github https://github.comgopal96685/throttler

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.

License:MIT License


Languages

Language:Go 100.0%