For a library for scheduling tasks in Go, the strongest matches are richardknop/machinery (Machinery is a comprehensive Go-native task queue and workflow), riverqueue/river (River is a Go-native library that provides transactional job) and go-co-op/gocron (This is a Go-native library for scheduling recurring tasks). robfig/cron and temporalio/temporal round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Selectăm repository-uri open-source de pe GitHub care se potrivesc cu „best go scheduling libraries”. Rezultatele sunt clasificate după relevanța față de căutarea ta — folosește filtrele de mai jos pentru a rafina rezultatele sau utilizează AI-ul.
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.
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.
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.
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.
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.
定时任务管理系统
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.
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.
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.
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.