awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعخادم MCPحولكيفية ترتيب النتائجالصحافة
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
RichardKnop avatar

RichardKnop/machinery

0
View on GitHub↗
7,956 نجوم·936 تفرعات·Go·MPL-2.0·21 مشاهدات

Machinery

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 persistence, automatic task retries with exponential backoff, and worker concurrency limiting. It also utilizes routing keys to distribute specific job types across dedicated queues.

Features

  • Asynchronous Task Processing - Provides a distributed system for offloading heavy computations to background workers to keep applications responsive.
  • Distributed Task Queues - Provides a distributed task queue for reliable and scalable background job processing across multiple nodes.
  • Job Schedulers - Automates recurring or delayed operations across multiple server instances without manual intervention.
  • Parallel Task Orchestrators - Runs independent tasks in parallel across remote infrastructure and blocks until the group has finished.
  • Sequential Task Dependencies - Executes tasks in a strict sequence where subsequent steps are triggered by the output of previous tasks.
  • Task Schedulers - Registers and executes persistent background tasks at specific future times or scheduled intervals.
  • Background Job Queues - Manages worker concurrency and utilizes routing to distribute tasks across dedicated queues for resource optimization.
  • Distributed Task Workers - Implements distributed workers that execute heavy workloads across multiple processes to avoid blocking the main application.
  • Delayed Executions - Schedules background tasks for future processing by associating a specific execution timestamp with the job.
  • Message-Based Process Orchestrations - Coordinates multi-step task chains and parallel groups by passing messages between independent distributed services.
  • Message Passing - Uses a message queue to coordinate work between distributed services and ensure reliable task processing.
  • Result-Passing Chains - Enables the execution of task sequences where results are passed from one job to the next.
  • Asynchronous Workflow Management - Provides a comprehensive framework for managing the full lifecycle of distributed asynchronous task workflows.
  • Task Coordinations - Implements synchronization workflows that trigger follow-up tasks after a group of parallel jobs has finished.
  • Complex Workflow Coordination - Coordinates dependent execution chains and parallel groups of tasks through defined job signatures.
  • Result Persistence Layers - Persists the final state and return values of asynchronous operations in a backend store for later retrieval.
  • Workflow Schedulers - Automates repetitive background jobs by running tasks or complex workflows on a recurring timetable.
  • Automatic Retry Mechanisms - Automatically re-enqueues failed tasks using configurable attempt limits and a gradual backoff strategy.
  • Queue-Based Message Distribution - Uses routing keys to direct specific job types to dedicated queues, balancing workloads across worker groups.
  • Worker-Level Concurrency Control - Includes mechanisms for managing worker concurrency to prevent system resource exhaustion under heavy load.
  • Task Queues - Supports routing keys to organize background tasks into named queues for managed execution and workload balancing.
  • Concurrent Task Limiters - Controls the maximum number of active tasks a single worker handles simultaneously to prevent resource exhaustion.
  • Job Result Persistence - Provides mechanisms to capture and store return values and metadata from completed background tasks for later retrieval.
  • Backoff Strategies - Implements an algorithmic delay between retry attempts that increases after each consecutive failure.
  • Messaging Systems - Asynchronous task queue based on distributed message passing.
  • Service Governance and Platforms - Asynchronous task queue for background job processing.
  • Task Scheduling and Queues - Distributed task queue.
  • Messaging - Listed in the “Messaging” section of the Awesome Go awesome list.
  • Messaging Systems - Asynchronous task queue based on distributed messaging.

سجل النجوم

مخطط تاريخ النجوم لـ richardknop/machineryمخطط تاريخ النجوم لـ richardknop/machinery

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Machinery

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Machinery.
  • bogdanp/dramatiqالصورة الرمزية لـ Bogdanp

    Bogdanp/dramatiq

    5,136عرض على GitHub↗

    Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It functions as an asynchronous task orchestrator that enables the distribution of computational tasks across a cluster using a pluggable transport layer supporting RabbitMQ and Redis. The framework provides specialized tools for complex task orchestration, including the ability to link background jobs into sequences, pipelines, and barriers. It further manages distributed concurrency through the use of shared mutexes, rate limiters, and exponential backoff retries to prevent re

    Pythondistributed-lockpythonrabbit
    عرض على GitHub↗5,136
  • resque/resqueالصورة الرمزية لـ resque

    resque/resque

    9,480عرض على GitHub↗

    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
    عرض على GitHub↗9,480
  • rq/rqالصورة الرمزية لـ rq

    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
  • hibiken/asynqالصورة الرمزية لـ hibiken

    hibiken/asynq

    12,914عرض على GitHub↗

    Asynq is a distributed background job processing framework for Go applications. It manages asynchronous task queues by offloading heavy operations to persistent storage, allowing the main application to remain responsive while background workers handle workloads. The system utilizes Redis to manage task state, concurrency, and message distribution across multiple worker instances. It employs atomic Lua scripting and sorted sets to ensure reliable job acquisition, precise scheduling of delayed tasks, and fault-tolerant processing through a two-stage acknowledgement flow. The framework support

    Goasynchronous-tasksbackground-jobsgo
    عرض على GitHub↗12,914
عرض جميع البدائل الـ 30 لـ Machinery→

الأسئلة الشائعة

ما هي وظيفة richardknop/machinery؟

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.

ما هي الميزات الرئيسية لـ richardknop/machinery؟

الميزات الرئيسية لـ richardknop/machinery هي: Asynchronous Task Processing, Distributed Task Queues, Job Schedulers, Parallel Task Orchestrators, Sequential Task Dependencies, Task Schedulers, Background Job Queues, Distributed Task Workers.

ما هي البدائل مفتوحة المصدر لـ richardknop/machinery؟

تشمل البدائل مفتوحة المصدر لـ richardknop/machinery: bogdanp/dramatiq — Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It… resque/resque — Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as… rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task… hibiken/asynq — Asynq is a distributed background job processing framework for Go applications. It manages asynchronous task queues by… optimalbits/bull — Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It… hangfireio/hangfire — Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job…