# robfig/cron

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/robfig-cron).**

14,141 stars · 1,696 forks · Go · MIT

## Links

- GitHub: https://github.com/robfig/cron
- awesome-repositories: https://awesome-repositories.com/repository/robfig-cron.md

## Description

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.

## Tags

### DevOps & Infrastructure

- [Recurring Job Scheduling](https://awesome-repositories.com/f/devops-infrastructure/recurring-job-scheduling.md) — Provides a system for executing recurring tasks on a fixed timetable using standard cron expressions. ([source](https://cdn.jsdelivr.net/gh/robfig/cron@master/README.md))
- [Background Task Runners](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/background-task-runners.md) — Automates repetitive background tasks and system maintenance work within a Go runtime.
- [Task Schedulers](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-schedulers.md) — Provides a task scheduler for managing periodic job execution within the Go runtime.
- [Calendar-Based Job Scheduling](https://awesome-repositories.com/f/devops-infrastructure/job-priority-management/priority-based-job-schedulers/calendar-based-job-scheduling.md) — Enables the definition of precise execution patterns for application logic triggered by the clock or calendar.
- [Time-Based Triggers](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/event-based-triggers/time-based-triggers.md) — Triggers task execution by polling the schedule at regular intervals to check for reached deadlines.
- [Job Queues](https://awesome-repositories.com/f/devops-infrastructure/job-queues.md) — Maintains a priority queue of pending tasks to efficiently trigger the job with the nearest deadline.

### Development Tools & Productivity

- [Cron Scheduling](https://awesome-repositories.com/f/development-tools-productivity/cron-scheduling.md) — Provides a mechanism to parse cron-style timing strings into executable scheduling rules.

### Software Engineering & Architecture

- [Periodic Loop Executions](https://awesome-repositories.com/f/software-engineering-architecture/custom-action-handlers/on-demand-action-executions/on-demand-code-analysis/periodic-loop-executions.md) — Schedules code to run repeatedly at fixed intervals for tasks like reports and data synchronization.
- [Goroutine Scheduling Models](https://awesome-repositories.com/f/software-engineering-architecture/task-scheduling/asynchronous-schedulers/asynchronous-thread-schedulers/goroutine-scheduling-models.md) — Implements a goroutine-based execution model to ensure that individual tasks do not block the main scheduler.
- [Unified Task Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/unified-task-interfaces.md) — Uses a generic job interface to allow any custom Go logic to be wrapped as a schedulable task.

### Part of an Awesome List

- [Task Scheduling and Queues](https://awesome-repositories.com/f/awesome-lists/devops/task-scheduling-and-queues.md) — Cron job library.
