awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
HangfireIO avatar

HangfireIO/Hangfire

0
View on GitHub↗
10,015 星标·1,746 分支·C#·other·18 次浏览www.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 历史

hangfireio/hangfire 的 Star 历史图表hangfireio/hangfire 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Hangfire 的开源替代方案

相似的开源项目,按与 Hangfire 的功能重合度排序。
  • optimalbits/bullOptimalBits 的头像

    OptimalBits/bull

    16,243在 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
    在 GitHub 上查看↗16,243
  • rq/rqrq 的头像

    rq/rq

    10,653在 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
    在 GitHub 上查看↗10,653
  • oban-bg/obanoban-bg 的头像

    oban-bg/oban

    3,812在 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
    在 GitHub 上查看↗3,812
  • richardknop/machineryRichardKnop 的头像

    RichardKnop/machinery

    7,956在 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
    在 GitHub 上查看↗7,956
查看 Hangfire 的所有 30 个替代方案→

常见问题解答

hangfireio/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.

hangfireio/hangfire 的主要功能有哪些?

hangfireio/hangfire 的主要功能包括:Background Task Schedulers, Job Queues, Job State Persistence, Cron Scheduling, Job Schedulers, Asynchronous Task Processing, Task Schedulers, Background Job Processing。

hangfireio/hangfire 有哪些开源替代品?

hangfireio/hangfire 的开源替代品包括: 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…