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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
contribsys avatar

contribsys/faktory

0
View on GitHub↗
6,089 Stars·236 Forks·Go·other·10 Aufrufecontribsys.com/faktory↗

Faktory

Faktory is an open-source work server that queues, dispatches, and manages background jobs across multiple programming languages. It stores job payloads as JSON hashes in a Redis-backed queue and provides language-specific client and worker libraries that enable any language to push jobs to the server or fetch and execute them.

The server includes a batch workflow orchestrator that groups jobs into batches with completion tracking for coordinating multi-step asynchronous workflows. It features a configurable job uniqueness filter that prevents duplicate enqueues within a time window, an exponential backoff retry engine that automatically requeues failed jobs, and a recurring job scheduler that enqueues jobs on a fixed timetable. A web dashboard provides a browser-based interface to inspect queues, retry jobs, and monitor worker activity in real time, while StatsD metrics streaming emits real-time job throughput and queue metrics for external monitoring.

The system supports job expiration to remove stale work, queue throttling to limit processing throughput per time window, and hot-reload configuration for live updates. It can connect to an external Redis instance for centralized storage and offers deployment options for Docker, Kubernetes, and AWS ECS, including health probes for container monitoring and CloudWatch integration for metric collection.

Features

  • Background Job Dispatchers - An open-source work server that queues, dispatches, and manages background jobs across multiple languages.
  • Background Job Processing - Manages and executes background tasks asynchronously across multiple languages with queuing and retries.
  • Background Job Queues - Provides language-specific client APIs to push background jobs to a work server for asynchronous processing.
  • Language-Agnostic Queues - Stores and distributes JSON job payloads to workers written in any language via language-specific APIs.
  • Language-Specific Job Fetchers - Ships worker libraries in multiple languages that fetch and execute queued background jobs from the server.
  • Automatic Retry Mechanisms - Automatically retries failed jobs with exponential backoff to ensure eventual completion.
  • Batch Workflow Trackers - Groups jobs into batches and tracks their completion as a single asynchronous workflow with progress reporting.
  • Redis-Backed Queues - Stores job payloads as JSON hashes in Redis queues for reliable persistence and distribution across workers.
  • Batch Workflow Orchestrations - Groups jobs into batches and tracks their completion as a single asynchronous workflow across languages.
  • Language-Agnostic APIs - Uses a custom TCP protocol with JSON serialization to enable job push and fetch from any programming language.
  • Background Job Dashboards - Ships a built-in web dashboard for inspecting queues, retrying jobs, and monitoring worker activity in real time.
  • Job Schedulers - Enqueues jobs on a fixed timetable without manual triggering, supporting cron-like schedules for periodic execution.
  • Distributed Job Execution - Stores jobs as JSON hashes in queues and distributes them to workers across one or hundreds of machines for execution.
  • Job Deduplication - Implements a configurable job uniqueness filter that prevents duplicate enqueues within a time window using Redis.
  • Kubernetes Deployment - Runs a single-replica job server inside Kubernetes with persistent storage and ConfigMap configuration.
  • Persistent Server Deployments - Runs a persistent background job server inside Kubernetes with configuration, storage, and health probes.
  • Worker Throttling - Limits queue processing throughput per time window to prevent worker overload or SLA violations.
  • Workflow Batchers - Groups jobs into batches and orchestrates their execution as a single asynchronous workflow with completion tracking.
  • Workflow Orchestrators - Includes a batch workflow orchestrator that groups jobs into batches with completion tracking for multi-step workflows.
  • Queue Administration Interfaces - Provides a web dashboard to inspect queues, retry jobs, and monitor worker activity in real time.
  • StatsD Exporters - Streams job throughput and queue metrics to StatsD for live monitoring and alerting.
  • Retry and Backoff Logic - Features an exponential backoff retry engine that automatically requeues failed jobs to handle transient errors.
  • Job Status Monitoring - Reports the completion status of individual jobs within a batch for workflow visibility.
  • Distributed Messaging - Background job processing system for application tasks.
  • Job Scheduling and Automation - Language-agnostic server for persistent background job processing.

Star-Verlauf

Star-Verlauf für contribsys/faktoryStar-Verlauf für contribsys/faktory

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Faktory

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Faktory.
  • taskforcesh/bullmqAvatar von taskforcesh

    taskforcesh/bullmq

    8,432Auf GitHub ansehen↗

    BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic

    TypeScriptbackground-jobselixirnodejs
    Auf GitHub ansehen↗8,432
  • resque/resqueAvatar von resque

    resque/resque

    9,480Auf GitHub ansehen↗

    Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as a distributed task processor and queue manager, allowing long-running work to be moved out of the main request cycle. The system executes background jobs in isolated child processes to prevent memory leaks and provides a web-based dashboard for monitoring queue depths, worker activity, and failed job statistics. Capability areas include distributed worker coordination via signals, error handling with job retry mechanisms, and priority-ordered queue management. It also suppor

    Rubyasynchronous-tasksasynctaskbackground-jobs
    Auf GitHub ansehen↗9,480
  • oban-bg/obanAvatar von oban-bg

    oban-bg/oban

    3,812Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,812
  • rq/rqAvatar von rq

    rq/rq

    10,653Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗10,653
Alle 30 Alternativen zu Faktory anzeigen→

Häufig gestellte Fragen

Was macht contribsys/faktory?

Faktory is an open-source work server that queues, dispatches, and manages background jobs across multiple programming languages. It stores job payloads as JSON hashes in a Redis-backed queue and provides language-specific client and worker libraries that enable any language to push jobs to the server or fetch and execute them.

Was sind die Hauptfunktionen von contribsys/faktory?

Die Hauptfunktionen von contribsys/faktory sind: Background Job Dispatchers, Background Job Processing, Background Job Queues, Language-Agnostic Queues, Language-Specific Job Fetchers, Automatic Retry Mechanisms, Batch Workflow Trackers, Redis-Backed Queues.

Welche Open-Source-Alternativen gibt es zu contribsys/faktory?

Open-Source-Alternativen zu contribsys/faktory sind unter anderem: taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… resque/resque — Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as… oban-bg/oban — Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job… rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task… automattic/kue — Kue is a Redis-backed job queue library for Node.js that provides a complete system for defining, scheduling, and… agronholm/apscheduler — APScheduler is a Python task scheduler designed to execute functions at specific times or recurring intervals. It…