A high-performance .NET library for in-memory background job processing with built-in observability.
BusyBee is a high-performance .NET library for in-memory background job processing, built on native channels. It enables developers to handle asynchronous tasks within their applications efficiently, with built-in observability and flexible configuration options. The library solves the need for lightweight, observable background processing without relying on external queue systems.
.NET developers building applications that require reliable, in-memory background task processing, such as web APIs, microservices, or desktop applications needing asynchronous job handling.
Developers choose BusyBee for its simplicity, performance, and built-in OpenTelemetry support, offering a configurable and observable solution without the complexity of external job queues. Its seamless integration with .NET dependency injection and rich job context makes it a developer-friendly alternative for in-memory processing.
Lightweight library for in-memory background processing in .NET applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built on .NET channels, BusyBee ensures efficient, low-overhead task handling without external dependencies, as emphasized in the README's focus on performance and lightweight design.
Supports both bounded and unbounded queues with multiple overflow strategies (e.g., DropOldest, ThrowException), allowing fine-tuned control over job queuing, as detailed in the configuration examples.
Includes ready-to-use tracing and metrics integration, enabling easy monitoring of job execution times, wait times, and more through OpenTelemetry, as shown in the dedicated integration section.
Offers a fluent configuration API and seamless dependency injection integration, simplifying setup and job context access, evidenced by the quick start and job context examples.
Jobs are stored only in memory, so they are lost on application restart, limiting reliability for critical tasks that require guaranteed execution.
Cannot handle distributed scenarios natively, making it unsuitable for multi-instance deployments without custom coordination, which the README does not address.
Does not support delayed or recurring jobs out of the box, requiring developers to implement custom logic for scheduling, as admitted by the absence of scheduling features in the documentation.