All Projects → mehcode → schedule-rs

mehcode / schedule-rs

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
An in-process scheduler for periodic jobs. Schedule lets you run Rust functions on a cron-like schedule.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to schedule-rs

linda
Linda is a simple dispatcher library.
Stars: ✭ 12 (-87.1%)
Mutual labels:  task, cron, schedule, job
croner
Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environments.
Stars: ✭ 169 (+81.72%)
Mutual labels:  task, cron, schedule, job
legacy-bottlerockets
Node.js high availability queue and scheduler for background job processing
Stars: ✭ 25 (-73.12%)
Mutual labels:  cron, schedule, job
Xxl Job
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Stars: ✭ 20,197 (+21617.2%)
Mutual labels:  task, schedule, job
cron-schedule
A zero-dependency cron parser and scheduler for Node.js, Deno and the browser.
Stars: ✭ 28 (-69.89%)
Mutual labels:  cron, schedule, job
Forest
分布式任务调度平台,分布式,任务调度,schedule,scheduler
Stars: ✭ 231 (+148.39%)
Mutual labels:  cron, schedule, job
job-plus
Job Plus项目是基于SpringBoot+Vue的轻量级定时任务管理系统
Stars: ✭ 17 (-81.72%)
Mutual labels:  task, cron, job
Ppgo job
PPGo_Job是一款可视化的、多人多权限的、一任务多机执行的定时任务管理系统,采用golang开发,安装方便,资源消耗少,支持大并发,可同时管理多台服务器上的定时任务。
Stars: ✭ 1,152 (+1138.71%)
Mutual labels:  task, cron
Tui.calendar
🍞📅A JavaScript calendar that has everything you need.
Stars: ✭ 9,537 (+10154.84%)
Mutual labels:  task, schedule
Dottask
Simple and easy go task framework, support loop & cron & queue
Stars: ✭ 124 (+33.33%)
Mutual labels:  task, cron
Scheduler
Task scheduler for Golang
Stars: ✭ 171 (+83.87%)
Mutual labels:  task, cron
Je
A distributed job execution engine for the execution of batch jobs, workflows, remediations and more.
Stars: ✭ 30 (-67.74%)
Mutual labels:  task, job
Taskmanager
A simple、 light(only two file)、fast 、powerful 、easy to use 、easy to extend 、 Android Library To Manager your AsyncTask/Thread/CallBack Jobqueue ! 一个超级简单,易用,轻量级,快速的异步任务管理器,类似于AsyncTask,但是比AsyncTask更好用,更易控制,从此不再写Thread ! ^_^
Stars: ✭ 25 (-73.12%)
Mutual labels:  task, job
Ytask
YTask is an asynchronous task queue for handling distributed jobs in golang(go异步任务框架)
Stars: ✭ 121 (+30.11%)
Mutual labels:  task, job
josk
🏃🤖 Scheduler and manager for jobs and tasks in node.js on multi-server and clusters setup
Stars: ✭ 27 (-70.97%)
Mutual labels:  task, cron
Node Rethinkdb Job Queue
A persistent job or task queue backed by RethinkDB.
Stars: ✭ 158 (+69.89%)
Mutual labels:  task, job
jobor
支持秒级分布式定时任务系统, A high performance distributed task scheduling system, Support multi protocol scheduling tasks
Stars: ✭ 52 (-44.09%)
Mutual labels:  task, cron
YACLib
Yet Another Concurrency Library
Stars: ✭ 193 (+107.53%)
Mutual labels:  task, job
aws-tag-sched-ops
Retired, please see https://github.com/sqlxpert/lights-off-aws
Stars: ✭ 24 (-74.19%)
Mutual labels:  cron, schedule
gymbox-bot
Simplify the booking of a gymbox class.
Stars: ✭ 21 (-77.42%)
Mutual labels:  cron, schedule

schedule-rs

Rust Crates.io Docs.rs

An in-process scheduler for periodic jobs. Schedule lets you run Rust functions on a cron-like schedule.

Install

[dependencies]
schedule = { git = "https://github.com/mehcode/schedule-rs" }

Usage

extern crate schedule;
extern crate chrono;

use schedule::Agenda;
use chrono::UTC;

fn main() {
    let mut a = Agenda::new();

    // Run every second
    a.add(|| {
        println!("at second     :: {}", UTC::now());
    }).schedule("* * * * * *").unwrap();

    // Run every minute
    a.add(|| {
        println!("at minute     :: {}", UTC::now());
    }).schedule("0 * * * * *").unwrap();

    // Run every hour
    a.add(|| {
        println!("at hour       :: {}", UTC::now());
    }).schedule("0 0 * * * *").unwrap();

    // Check and run pending jobs in agenda every 500 milliseconds
    loop {
        a.run_pending();

        std::thread::sleep(std::time::Duration::from_millis(500));
    }
}

License

Schedule is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

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].