scheduled-executor

crates.io docs.rs Build Status

A simple function scheduler.

The library

This library provides a series of utilities for scheduling and executing tasks (functions and closures). Tasks can be executed at fixed interval or at fixed rates, and can be executed sequentially in the main executor thread or in parallel using a thread pool.

Executors

Documentation

Examples

Scheduling periodic task is very simple. Here is an example using a thread pool:

```rust,ignore // Starts a new thread-pool based executor with 4 threads let executor = ThreadPoolExecutor::new(4)?;

executor.schedulefixedrate( Duration::fromsecs(2), // Wait 2 seconds before scheduling the first task Duration::fromsecs(5), // and schedule every following task at 5 seconds intervals |remote| { // Code to be scheduled. The code will run on one of the threads in the thread pool. // The remote handle can be used to schedule additional work on the event loop, // if needed. }, ); ```