All Projects → mborders → Artifex

mborders / Artifex

Licence: mit
Simple in-memory job queue for Golang using worker-based dispatching

Programming Languages

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

Projects that are alternatives of or similar to Artifex

Kob
中心化的作业调度系统,定义了任务调度模型,实现了任务调度的统一管理和监控。
Stars: ✭ 393 (+301.02%)
Mutual labels:  job-scheduler
Agendash
Agenda Dashboard
Stars: ✭ 620 (+532.65%)
Mutual labels:  job-scheduler
Node Job Queue
Implementation of a nested asynchronous job queue in Node.js
Stars: ✭ 56 (-42.86%)
Mutual labels:  job-scheduler
Odin
A programmable, observable and distributed job orchestration system.
Stars: ✭ 405 (+313.27%)
Mutual labels:  job-scheduler
Antares
分布式任务调度平台(Distributed Job Schedule Platform)
Stars: ✭ 558 (+469.39%)
Mutual labels:  job-scheduler
Smart Scheduler Android
A utility library for scheduling periodic and non-periodic jobs efficiently.
Stars: ✭ 930 (+848.98%)
Mutual labels:  job-scheduler
Db Scheduler
Persistent cluster-friendly scheduler for Java
Stars: ✭ 352 (+259.18%)
Mutual labels:  job-scheduler
Ppgo job
PPGo_Job是一款可视化的、多人多权限的、一任务多机执行的定时任务管理系统,采用golang开发,安装方便,资源消耗少,支持大并发,可同时管理多台服务器上的定时任务。
Stars: ✭ 1,152 (+1075.51%)
Mutual labels:  job-scheduler
Incubator Dolphinscheduler
Apache DolphinScheduler is a distributed and extensible workflow scheduler platform with powerful DAG visual interfaces, dedicated to solving complex job dependencies in the data pipeline and providing various types of jobs available out of box.
Stars: ✭ 6,916 (+6957.14%)
Mutual labels:  job-scheduler
Batchman
This library for Android will take any set of events and batch them up before sending it to the server. It also supports persisting the events on disk so that no event gets lost because of an app crash. Typically used for developing any in-house analytics sdk where you have to make a single api call to push events to the server but you want to optimize the calls so that the api call happens only once per x events, or say once per x minutes. It also supports exponential backoff in case of network failures
Stars: ✭ 50 (-48.98%)
Mutual labels:  job-scheduler
Openpbs
An HPC workload manager and job scheduler for desktops, clusters, and clouds.
Stars: ✭ 427 (+335.71%)
Mutual labels:  job-scheduler
Quartznet
Quartz Enterprise Scheduler .NET
Stars: ✭ 4,825 (+4823.47%)
Mutual labels:  job-scheduler
Routine
go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它
Stars: ✭ 40 (-59.18%)
Mutual labels:  job-scheduler
Taskscheduler
Cross-platform, fiber-based, multi-threaded task scheduler designed for video games.
Stars: ✭ 402 (+310.2%)
Mutual labels:  job-scheduler
Dotnetworkqueue
A work queue for dot.net with SQL server, SQLite, Redis and PostGreSQL backends
Stars: ✭ 58 (-40.82%)
Mutual labels:  job-scheduler
Hangfire.httpjob
httpjob for Hangfire,restful api for Hangfire,job调度与业务分离
Stars: ✭ 366 (+273.47%)
Mutual labels:  job-scheduler
Android Job
Android library to handle jobs in the background.
Stars: ✭ 5,378 (+5387.76%)
Mutual labels:  job-scheduler
Resque
Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
Stars: ✭ 9,031 (+9115.31%)
Mutual labels:  job-scheduler
F3 Cron
Job scheduling for the PHP Fat-Free Framework
Stars: ✭ 65 (-33.67%)
Mutual labels:  job-scheduler
Jiacrontab
简单可信赖的任务管理工具
Stars: ✭ 1,052 (+973.47%)
Mutual labels:  job-scheduler

GoDoc Build Status Go Report Card codecov

artifex

Simple in-memory job queue for Golang using worker-based dispatching

Documentation here: https://godoc.org/github.com/mborders/artifex

Cron jobs use the robfig/cron library: https://godoc.org/github.com/robfig/cron

Example Usage

// 10 workers, 100 max in job queue
d := artifex.NewDispatcher(10, 100)
d.Start()

d.Dispatch(func() {
  // do something
})

err := d.DispatchIn(func() {
  // do something in 500ms
}, time.Millisecond*500)

// Returns a DispatchTicker
dt, err := d.DispatchEvery(func() {
  // do something every 250ms
}, time.Millisecond*250)

// Stop a given DispatchTicker
dt.Stop()

// Returns a DispatchCron
dc, err := d.DispatchCron(func() {
  // do something every 1s
}, "*/1 * * * * *")

// Stop a given DispatchCron
dc.Stop()

// Stop a dispatcher and all its workers/tickers
d.Stop()
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].