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

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

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

go-co-op/gocron

0
View on GitHub↗
7,071 星标·342 分支·Go·MIT·8 次浏览

Gocron

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 covers a broad capability surface including event-driven listeners for job lifecycles, dynamic execution timing management, and graceful shutdown procedures. It also integrates observability tools for recording activity through pluggable logging interfaces and exporting execution metrics to external monitoring systems.

Features

  • Cron Scheduling - Provides a Go library for automating recurring tasks using crontab expressions, fixed durations, and calendar dates.
  • Job Schedulers - Automates recurring tasks using crontab expressions, fixed durations, random intervals, and specific calendar dates.
  • Task Scheduling - Provides a Go-native framework for automating recurring tasks via cron expressions and intervals.
  • Distributed Lock Coordination - Prevents duplicate execution across multiple nodes using leader election and distributed locking.
  • Distributed Task Schedulers - Implements a distributed scheduling engine with leader election and locking to prevent duplicate job execution across multiple nodes.
  • Concurrency Management Libraries - Functions as a concurrent job manager that limits simultaneous executions via quotas and singleton constraints.
  • Background Worker Orchestration - Manages the lifecycle and timing of asynchronous jobs to ensure consistent execution periods and graceful shutdowns.
  • Distributed Job Locking - Prevents duplicate job execution across multiple nodes using a distributed locking mechanism.
  • Execution Interval Management - Determines whether the next run is calculated from the scheduled start time or from the completion time.
  • Dynamic Interval Calculations - Determines the next run time based on either a fixed schedule or the actual completion time of the last task.
  • Graceful Shutdown Procedures - Provides control over the scheduler lifecycle, including startup and graceful shutdown to ensure task completion.
  • Execution Status Monitoring - Collects metrics on start times, completion status, execution durations, and concurrency limit breaches.
  • Job Concurrency Controllers - Prevents overlapping executions of the same job by implementing singleton concurrency constraints.
  • Job Event Callbacks - Allows attaching listeners to individual jobs or the global scheduler to respond to execution events.
  • Scheduling Loops - Uses a ticker-based execution loop to poll the system clock and trigger due jobs.
  • Concurrent Task Limiters - Implements concurrency limiting to protect system resources by restricting the number of simultaneous job executions.
  • Singleton Job Constraints - Ensures only one instance of a specific task runs at a time by skipping new triggers until the previous finishes.
  • Event Listeners - Provides an event-driven system to trigger custom callbacks during job lifecycle events such as start or completion.
  • Task Execution Monitoring - Tracks task lifecycle events, execution metrics, and performance logs through a pluggable monitoring interface.
  • Concurrency Limiters - Controls system load by restricting the number of concurrent background jobs within a Go process.
  • Job Scheduling - Simple and fluent job scheduling.
  • Task Scheduling and Queues - Task scheduling library.
  • Job Schedulers - Fluent and actively maintained library for job scheduling.

Star 历史

go-co-op/gocron 的 Star 历史图表go-co-op/gocron 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

常见问题解答

go-co-op/gocron 是做什么的?

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.

go-co-op/gocron 的主要功能有哪些?

go-co-op/gocron 的主要功能包括:Cron Scheduling, Job Schedulers, Task Scheduling, Distributed Lock Coordination, Distributed Task Schedulers, Concurrency Management Libraries, Background Worker Orchestration, Distributed Job Locking。

go-co-op/gocron 有哪些开源替代品?

go-co-op/gocron 的开源替代品包括: taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… sidekiq/sidekiq — Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It… agenda/agenda — Agenda is a persistent background job scheduler and distributed task runner for Node.js applications. It functions as… hatchet-dev/hatchet — Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for… mcuadros/ofelia — Ofelia is a recurring job scheduler designed to run commands inside Docker containers or directly on the host system… node-cron/node-cron — This library provides a task scheduling framework for Node.js applications, enabling the automation of recurring…

Gocron 的开源替代方案

相似的开源项目,按与 Gocron 的功能重合度排序。
  • taskforcesh/bullmqtaskforcesh 的头像

    taskforcesh/bullmq

    8,432在 GitHub 上查看↗

    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
    在 GitHub 上查看↗8,432
  • sidekiq/sidekiqsidekiq 的头像

    sidekiq/sidekiq

    13,540在 GitHub 上查看↗

    Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It functions as a distributed task scheduler capable of handling periodic, delayed, and recurring jobs across a cluster of worker processes. The project features a job monitoring dashboard and administrative web interface for visualizing system state, tracking worker performance, and managing failed or dead jobs. It provides a distributed rate limiter to control execution frequency across multiple processes. The framework covers a broad range of operational capabilities, including j

    Rubybackground-jobsjobsruby
    在 GitHub 上查看↗13,540
  • agenda/agendaagenda 的头像

    agenda/agenda

    9,679在 GitHub 上查看↗

    Agenda is a persistent background job scheduler and distributed task runner for Node.js applications. It functions as a cron job manager and task queue that ensures background processes survive application restarts by storing job state and metadata in a database. The system coordinates execution across multiple worker instances using distributed locking mechanisms to prevent duplicate processing. It supports flexible scheduling via cron expressions or specific dates and includes a pluggable storage interface for backends such as MongoDB, PostgreSQL, and Redis. The platform provides controls

    HTMLautomatedcroncronjob
    在 GitHub 上查看↗9,679
  • hatchet-dev/hatchethatchet-dev 的头像

    hatchet-dev/hatchet

    6,622在 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

    Goconcurrencydagdistributed
    在 GitHub 上查看↗6,622
查看 Gocron 的所有 30 个替代方案→