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

Go Scheduling Libraries

Ranking updated Jul 13, 2026

For a library for scheduling tasks in Go, the first results are richardknop/machinery (Machinery is a comprehensive Go-native task queue and workflow engine that provides distributed job processing, cron-style scheduling, persistent storage, and robust concurrency control, making it a flagship solution for this category), riverqueue/river (River is a Go-native library that provides transactional job queuing, distributed scheduling, and persistent storage using PostgreSQL, directly addressing all the core requirements for background task management) and go-co-op/gocron (This is a Go-native library for scheduling recurring tasks that supports cron-style execution, concurrency control, and distributed locking, making it a direct fit for your task management needs). robfig/cron and temporalio/temporal round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

We curate open-source GitHub repositories matching “best go scheduling libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Go Scheduling Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • 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

    Machinery is a comprehensive Go-native task queue and workflow engine that provides distributed job processing, cron-style scheduling, persistent storage, and robust concurrency control, making it a flagship solution for this category.

    GoDistributed Task QueuesJob Result PersistenceBackoff Strategies
    View on GitHub↗7,956
  • riverqueue/riverriverqueue avatar

    riverqueue/river

    5,252View on GitHub↗

    River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state management. It functions as a resumable task framework, allowing long-running background work to be broken into persisted steps that can resume from the last saved checkpoint after a failure. The system ensures strict data consistency by allowing background tasks to be enqueued and completed within the same database transaction as the primary application data. It distinguishes itself through a coordinator model that employs leader election to manage periodic and delayed tasks

    River is a Go-native library that provides transactional job queuing, distributed scheduling, and persistent storage using PostgreSQL, directly addressing all the core requirements for background task management.

    GoExponential Backoff RetriesJob State PersistenceRetry Policies
    View on GitHub↗5,252
  • go-co-op/gocrongo-co-op avatar

    go-co-op/gocron

    7,071View on GitHub↗

    gocron is a task scheduling library for Go designed to automate recurring tasks using crontab expressions, fixed durations, and specific calendar dates. It functions as a concurrent job manager and execution monitor that tracks task lifecycles and performance. The project provides distributed task scheduling through leader election and distributed locking to prevent duplicate job execution across multiple nodes. It further distinguishes itself with a concurrency management system that implements singleton constraints and global execution quotas to protect system resources. The scheduler cove

    This is a Go-native library for scheduling recurring tasks that supports cron-style execution, concurrency control, and distributed locking, making it a direct fit for your task management needs.

    GoCron SchedulingDistributed Lock Coordination
    View on GitHub↗7,071
  • robfig/cronrobfig avatar

    robfig/cron

    14,141View on GitHub↗

    This is a scheduling library for executing recurring tasks in Go applications using cron-style timing expressions. It provides a programmatic interface to trigger functions at specific intervals based on standard calendar patterns. The system manages periodic job execution by converting timing strings into rules that determine execution times. It uses a job interface to wrap custom logic, allowing for the automation of repetitive background tasks and data synchronization within a Go runtime.

    This library provides a robust, Go-native implementation for cron-style task scheduling, though it focuses on periodic execution rather than distributed job queuing or persistent storage.

    GoCron Scheduling
    View on GitHub↗14,141
  • temporalio/temporaltemporalio avatar

    temporalio/temporal

    18,411View on GitHub↗

    Temporal is a distributed workflow orchestration engine designed to manage fault-tolerant, stateful, and long-running background processes. It functions as a platform for coordinating complex cross-service operations, ensuring consistency and reliability in distributed environments by decoupling workflow orchestration from task execution. The platform distinguishes itself through a deterministic, event-sourced execution model that reconstructs workflow state by re-executing code from an immutable event log. This approach isolates non-deterministic side effects into managed activities, allowin

    Temporal is a robust, distributed workflow orchestration engine that handles complex task scheduling and background job execution, though it is a more comprehensive platform than a simple task queue library.

    GoCron SchedulingDistributed Task QueuesRetry Policies
    View on GitHub↗18,411
  • ouqiang/gocronouqiang avatar

    ouqiang/gocron

    6,255View on GitHub↗

    定时任务管理系统

    This is a web-based task management system that provides a centralized dashboard for scheduling and executing distributed cron jobs, though it functions more as a standalone management platform than a library you would embed directly into your own Go application.

    GoAutomatic Task Retries
    View on GitHub↗6,255
  • hatchet-dev/hatchethatchet-dev avatar

    hatchet-dev/hatchet

    6,622View on GitHub↗

    Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for building and executing fault-tolerant, multi-step pipelines as directed acyclic graphs (DAGs), with automatic retries, scheduling, and real-time observability. The system is built around durable task checkpointing, which persists execution state after each step so work can resume from the last checkpoint after a worker crash or restart, and it supports event-driven task resumption that pauses a task until a matching external event arrives. The platform distinguishes itself through it

    Hatchet is a durable workflow engine that provides robust task orchestration, including distributed job queues, automatic retries, and persistent state management, making it a powerful choice for complex task scheduling in Go.

    GoCron SchedulingRetry PoliciesTask Retry Policies
    View on GitHub↗6,622
  • inngest/inngestinngest avatar

    inngest/inngest

    5,499View on GitHub↗

    Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer

    Inngest is a durable execution framework that handles background task orchestration and stateful workflows, providing a robust alternative to traditional job queues for managing complex, multi-step processes in Go.

    GoAutomatic Task RetriesCron SchedulingDurable Execution Persistence
    View on GitHub↗5,499
  • adhocore/gronxadhocore avatar

    adhocore/gronx

    506View on GitHub↗

    Lightweight, fast and dependency-free Cron expression parser (due checker, next/prev due date finder), task runner, job scheduler and/or daemon for Golang (tested on v1.13+) and standalone usage. If you are bold, use it to replace crontab entirely.

    This library provides cron-style scheduling and task execution capabilities directly within Go applications, serving as a lightweight tool for managing scheduled jobs.

    GoJob Schedulers
    View on GitHub↗506
  • ltsopensource/light-task-schedulerltsopensource avatar

    ltsopensource/light-task-scheduler

    2,997View on GitHub↗

    Light Task Scheduler is a distributed job scheduling and workflow orchestration platform designed for managing background processing across scalable computing environments. It functions as a cluster management system that coordinates stateless nodes to execute recurring, cron-based, or one-time tasks with centralized control and high availability. The platform distinguishes itself through a leader-based coordination model that automatically elects a primary controller to manage task distribution and system state. It supports complex workflow dependencies, ensuring that prerequisite tasks comp

    This is a Java-based distributed task orchestration platform rather than a Go-native library or framework, making it incompatible with the requested language ecosystem.

    JavaDistributed Task QueuesDistributed Task QueuesTask Retry Policies
    View on GitHub↗2,997
  • weiye-jing/datax-webWeiYe-Jing avatar

    WeiYe-Jing/datax-web

    6,009View on GitHub↗

    DataX Web is a web-based management platform for scheduling, building, executing, and monitoring distributed data synchronization jobs powered by DataX. It provides a visual console for creating and managing DataX tasks without manual JSON configuration, with a distributed executor cluster that auto-registers worker nodes and supports configurable routing and blocking strategies for task distribution. The platform offers cron-based task scheduling with dynamic start, stop, and immediate status changes, along with incremental sync capabilities that pass dynamic parameters to extract only new o

    This is a standalone web-based management platform for data synchronization rather than a Go-native library or framework for developers to integrate task scheduling into their own applications.

    JavaAutomatic Task RetriesCron SchedulingCron-Based
    View on GitHub↗6,009
  • powerjob/powerjobPowerJob avatar

    PowerJob/PowerJob

    7,761View on GitHub↗

    Enterprise job scheduling middleware with distributed computing ability.

    This is a robust enterprise-grade distributed job scheduling system, but it is built for the Java ecosystem rather than being a Go-native library or framework.

    JavaCron SchedulingRetry PoliciesTask Retry Policies
    View on GitHub↗7,761
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
richardknop/machinery8KGoMPL-2.0Nov 15, 2025
riverqueue/river5.3KGoMPL-2.0Jun 15, 2026
go-co-op/gocron
7.1K
Go
MIT
May 25, 2026
robfig/cron14.1KGoMITJul 8, 2024
temporalio/temporal18.4KGomitFeb 20, 2026
ouqiang/gocron6.3KGoMITMar 27, 2024
hatchet-dev/hatchet6.6KGomitFeb 20, 2026
inngest/inngest5.5KGoNOASSERTIONJun 17, 2026
adhocore/gronx506GoMITMay 21, 2026
ltsopensource/light-task-scheduler3KJavaApache-2.0Oct 20, 2022

Related searches

  • a library for scheduling tasks in C#
  • a java library for scheduling background tasks
  • a library for scheduling tasks in PHP
  • a background job scheduler for server tasks
  • a library for handling dates and times
  • a rate limiting library for Go applications
  • a message queue library for Go
  • a python library for background task processing