All Projects → reugn → Go Quartz

reugn / Go Quartz

Licence: mit
Simple, zero-dependency scheduling library for Go

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Go Quartz

Bree
🚥 The best job scheduler for Node.js and JavaScript with cron, dates, ms, later, and human-friendly support. Works in Node v10+ and browsers, uses workers to spawn sandboxed processes, and supports async/await, retries, throttling, concurrency, and graceful shutdown. Simple, fast, and lightweight. Made for @ForwardEmail and @ladjs.
Stars: ✭ 933 (+690.68%)
Mutual labels:  scheduler, cron, crontab, job
Quartznet
Quartz Enterprise Scheduler .NET
Stars: ✭ 4,825 (+3988.98%)
Mutual labels:  scheduler, cron, job-scheduler, quartz
croner
Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environments.
Stars: ✭ 169 (+43.22%)
Mutual labels:  cron, job, crontab, scheduler
Jiacrontab
简单可信赖的任务管理工具
Stars: ✭ 1,052 (+791.53%)
Mutual labels:  scheduler, crontab, job-scheduler, job
yerbie
A blazing fast job queue built for ease of use and scalability
Stars: ✭ 16 (-86.44%)
Mutual labels:  scheduler, job-scheduler, job-queue
php-cron-expr
Ultra lightweight, Dependency free and Super Fast Cron Expression parser for PHP
Stars: ✭ 42 (-64.41%)
Mutual labels:  cron, crontab, scheduler
Xxl Job
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Stars: ✭ 20,197 (+17016.1%)
Mutual labels:  scheduler, job, quartz
Gocron
定时任务管理系统
Stars: ✭ 4,198 (+3457.63%)
Mutual labels:  scheduler, cron, crontab
Chronos
Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules
Stars: ✭ 4,303 (+3546.61%)
Mutual labels:  cron, crontab, job-scheduler
Ppgo job
PPGo_Job是一款可视化的、多人多权限的、一任务多机执行的定时任务管理系统,采用golang开发,安装方便,资源消耗少,支持大并发,可同时管理多台服务器上的定时任务。
Stars: ✭ 1,152 (+876.27%)
Mutual labels:  cron, crontab, job-scheduler
Cron Utils
Cron utils for parsing, validations and human readable descriptions as well as date/time interoperability.
Stars: ✭ 724 (+513.56%)
Mutual labels:  cron, crontab, quartz
Cron Editor
cron editor
Stars: ✭ 22 (-81.36%)
Mutual labels:  cron, crontab, quartz
linda
Linda is a simple dispatcher library.
Stars: ✭ 12 (-89.83%)
Mutual labels:  cron, job, scheduler
Swiftqueue
Job Scheduler for IOS with Concurrent run, failure/retry, persistence, repeat, delay and more
Stars: ✭ 276 (+133.9%)
Mutual labels:  scheduler, job-scheduler, job
comrade-dev
Comrade is a job scheduler&manager service.
Stars: ✭ 69 (-41.53%)
Mutual labels:  job, job-scheduler, job-queue
asparagus
An easy to use task scheduler for distributed systems
Stars: ✭ 14 (-88.14%)
Mutual labels:  cron, crontab, scheduler
Deno cron
A cron Job scheduler for Deno that allows you to write human readable cron syntax with tons of flexibility
Stars: ✭ 35 (-70.34%)
Mutual labels:  scheduler, cron, crontab
gronx
Lightweight, fast and dependency-free Cron expression parser (due checker), task scheduler and/or daemon for Golang (tested on v1.13 and above) and standalone usage
Stars: ✭ 206 (+74.58%)
Mutual labels:  crontab, scheduler, job-scheduler
job-plus
Job Plus项目是基于SpringBoot+Vue的轻量级定时任务管理系统
Stars: ✭ 17 (-85.59%)
Mutual labels:  cron, job, quartz
Agendash
Agenda Dashboard
Stars: ✭ 620 (+425.42%)
Mutual labels:  cron, crontab, job-scheduler

go-quartz

Build Status GoDoc Go Report Card codecov

Simple, zero-dependency scheduling library for Go.

About

Inspired by the Quartz Java scheduler.

Library building blocks

Job interface. Any type that implements it can be scheduled.

type Job interface {
	Execute()
	Description() string
	Key() int
}

Implemented Jobs

  • ShellJob
  • CurlJob

Scheduler interface

type Scheduler interface {
	// start the scheduler
	Start()
	// schedule the job with the specified trigger
	ScheduleJob(job Job, trigger Trigger) error
	// get all scheduled jobs keys
	GetJobKeys() []int
	// get the scheduled job metadata
	GetScheduledJob(key int) (*ScheduledJob, error)
	// remove the job from the execution queue
	DeleteJob(key int) error
	// clear all scheduled jobs
	Clear()
	// shutdown the scheduler
	Stop()
}

Implemented Schedulers

  • StdScheduler

Trigger interface

type Trigger interface {
	NextFireTime(prev int64) (int64, error)
	Description() string
}

Implemented Triggers

  • CronTrigger
  • SimpleTrigger
  • RunOnceTrigger

Examples

sched := quartz.NewStdScheduler()
sched.Start()
cronTrigger, _ := quartz.NewCronTrigger("1/5 * * * * *")
shellJob := quartz.NewShellJob("ls -la")
curlJob, _ := quartz.NewCurlJob(http.MethodGet, "http://worldclockapi.com/api/json/est/now", "", nil)
sched.ScheduleJob(shellJob, cronTrigger)
sched.ScheduleJob(curlJob, quartz.NewSimpleTrigger(time.Second*7))
sched.Stop()

More code samples can be found in the examples directory.

License

Licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].