awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
HangfireIO avatar

HangfireIO/Hangfire

0
View on GitHub↗
10,015 stars·1,746 forks·C#·other·54 viewswww.hangfire.io↗

Hangfire

Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers.

The framework distinguishes itself through reliable task scheduling, where job metadata and arguments are persisted in an external database to ensure tasks survive application restarts. It supports advanced orchestration patterns, including the ability to chain dependent tasks so that a child job triggers automatically upon the successful completion of its parent.

The system covers a wide range of background processing capabilities, including fire-and-forget processing, delayed job execution, and recurring jobs scheduled via time expressions. It also provides built-in automatic retry logic for failed tasks and tools for monitoring execution through job logging.

Features

  • Background Task Schedulers - Serves as a comprehensive background task scheduler for .NET applications with persistence and retry logic.
  • Job Queues - Provides a robust system for enqueueing method calls and arguments to be processed asynchronously.
  • Job State Persistence - Persists job metadata and arguments in a SQL database to ensure tasks survive system restarts.
  • Cron Scheduling - Supports triggering recurring background tasks using standard cron expressions for fixed-interval execution.
  • Job Schedulers - Enables the postponement of background tasks until a specific future time or interval has elapsed.
  • Asynchronous Task Processing - Offloads heavy, long-running operations to background workers to keep the primary application responsive.
  • Task Schedulers - Implements a persistent task scheduler that ensures background jobs are completed even after system restarts.
  • Background Job Processing - Manages the full lifecycle of offloading and executing asynchronous tasks outside the main request flow.
  • Background Processing - Offloads method calls to background threads immediately to maintain responsiveness without waiting for a result.
  • Distributed Task Queues - Provides a distributed task queue that offloads heavy processing to background workers across multiple servers.
  • Job Continuation Chaining - Provides advanced orchestration by linking multiple background jobs in a dependent sequence.
  • Database-Backed Persistence - Uses a SQL-backed processor to store job metadata and arguments, ensuring reliability during application restarts.
  • State Persistence - Checkpoints job metadata and arguments in a database to ensure reliability across process restarts.
  • Task & Job Management - Offers a framework for managing discrete tasks, including the ability to chain dependent jobs in a sequence.
  • Delayed Executions - Provides functionality for postponing task execution until a specific future time or after a defined interval.
  • Polling-Based Worker Execution - Employs background workers that continuously monitor storage for pending tasks to execute on available threads.
  • Job Enqueueing Serialization - Serializes method calls and their arguments into a SQL backend for later execution by background workers.
  • Retry Strategies - Implements configurable retry strategies with backoff policies to ensure background tasks eventually succeed after transient failures.
  • Worker Pool Models - Uses dedicated worker pools to execute intensive tasks, preventing them from blocking the main application pipeline.
  • Message Queues - Library for background job processing and task scheduling.
  • Scheduling and Automation - Fire-and-forget and recurring task management.
  • Background Tasks - Reliable background job processing and scheduling for .NET applications.

Star history

Star history chart for hangfireio/hangfireStar history chart for hangfireio/hangfire

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does hangfireio/hangfire do?

Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers.

What are the main features of hangfireio/hangfire?

The main features of hangfireio/hangfire are: Background Task Schedulers, Job Queues, Job State Persistence, Cron Scheduling, Job Schedulers, Asynchronous Task Processing, Task Schedulers, Background Job Processing.

Which projects share features with hangfireio/hangfire?

Projects with overlapping indexed features include: optimalbits/bull — Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It… rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task… oban-bg/oban — Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job… richardknop/machinery — Machinery is a distributed task queue and asynchronous workflow engine. It provides a system for processing heavy… quartznet/quartznet — Quartz.NET is a job scheduler for .NET applications designed to schedule and execute programmatic tasks. It functions… queueclassic/queue_classic — Queue Classic is a background processing framework for Ruby applications that manages asynchronous tasks by utilizing…

Projects sharing features with Hangfire

These projects share indexed features with Hangfire. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • optimalbits/bullOptimalBits avatar

    OptimalBits/bull

    16,243View on GitHub↗

    Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran

    JavaScriptjobjob-queuemessage
    View on GitHub↗16,243
  • rq/rqrq avatar

    rq/rq

    10,653View on GitHub↗

    rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task submission from execution. It functions as a reliable message queue and task scheduler, allowing Python functions or asyncio coroutines to be processed asynchronously across multiple worker processes. The project distinguishes itself through reliable queuing mechanisms that prevent job loss during worker crashes using atomic operations. It provides specialized orchestration capabilities, including the prevention of duplicate jobs, job execution prioritization, and the ability to m

    Pythonasyncbackground-jobsdelayed-jobs
    View on GitHub↗10,653
  • oban-bg/obanoban-bg avatar

    oban-bg/oban

    3,812View on GitHub↗

    Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job storage and reliable execution across multiple nodes. It serves as a PostgreSQL-backed background worker and job queue, coordinating task execution and concurrency through a relational database to ensure delivery guarantees. The system differentiates itself through a distributed workflow orchestrator capable of managing multi-step processing pipelines, dependent job sequencing, and shared context. It provides advanced orchestration tools including job batching, chunked processi

    Elixir
    View on GitHub↗3,812
  • richardknop/machineryRichardKnop avatar

    RichardKnop/machinery

    7,956View on GitHub↗

    Machinery is a distributed task queue and asynchronous workflow engine. It provides a system for processing heavy workloads outside the main request flow using a network of distributed background workers and a message-based job orchestrator. The project manages complex task lifecycles through sequential chaining, where results are passed between tasks, and parallel coordination, which can trigger callback tasks upon the completion of a group. It supports periodic workflow scheduling for recurring jobs and delayed execution via specific timestamps. The system includes capabilities for result

    Goamqpaws-sqsgo
    View on GitHub↗7,956
Compare all 30 related projects→