pub struct Scheduler { /* private fields */ }
Expand description
Scheduler manages scheduling of new jobs and maintains a threadpool upon which the scheduled jobs run.
Implementations§
Source§impl<'a> Scheduler
impl<'a> Scheduler
Sourcepub fn new(pool_size: usize) -> Scheduler
pub fn new(pool_size: usize) -> Scheduler
Create a new scheduler.
Examples found in repository?
examples/timers.rs (line 11)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
pub fn main() {
let mut scheduler = Scheduler::new(4);
scheduler.schedule_job("Every 1 minutes", "* * * * *", || {
println!("Executes every minute: {}", now().rfc3339());
});
scheduler.schedule_job("Every 2 minutes", &every_n_minutes(2), || {
println!("Executes two minutes: {}", now().rfc3339());
});
scheduler.schedule_job("Every 3 minutes", &every_n_minutes(3), || {
println!("Executes three minutes: {}", now().rfc3339());
});
scheduler.schedule_job("Every 5 minutes", &every_n_minutes(5), || {
println!("Executes five minutes: {}", now().rfc3339());
});
println!("Running scheduler example: {}", now().rfc3339());
scheduler.run();
}
Sourcepub fn schedule_job<F>(&mut self, name: &str, schedule: &str, function: F)
pub fn schedule_job<F>(&mut self, name: &str, schedule: &str, function: F)
Schedule a new job for execution.
Examples found in repository?
examples/timers.rs (lines 13-15)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
pub fn main() {
let mut scheduler = Scheduler::new(4);
scheduler.schedule_job("Every 1 minutes", "* * * * *", || {
println!("Executes every minute: {}", now().rfc3339());
});
scheduler.schedule_job("Every 2 minutes", &every_n_minutes(2), || {
println!("Executes two minutes: {}", now().rfc3339());
});
scheduler.schedule_job("Every 3 minutes", &every_n_minutes(3), || {
println!("Executes three minutes: {}", now().rfc3339());
});
scheduler.schedule_job("Every 5 minutes", &every_n_minutes(5), || {
println!("Executes five minutes: {}", now().rfc3339());
});
println!("Running scheduler example: {}", now().rfc3339());
scheduler.run();
}
Sourcepub fn run(&mut self) -> !
pub fn run(&mut self) -> !
Run the jobs.
Examples found in repository?
examples/timers.rs (line 30)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
pub fn main() {
let mut scheduler = Scheduler::new(4);
scheduler.schedule_job("Every 1 minutes", "* * * * *", || {
println!("Executes every minute: {}", now().rfc3339());
});
scheduler.schedule_job("Every 2 minutes", &every_n_minutes(2), || {
println!("Executes two minutes: {}", now().rfc3339());
});
scheduler.schedule_job("Every 3 minutes", &every_n_minutes(3), || {
println!("Executes three minutes: {}", now().rfc3339());
});
scheduler.schedule_job("Every 5 minutes", &every_n_minutes(5), || {
println!("Executes five minutes: {}", now().rfc3339());
});
println!("Running scheduler example: {}", now().rfc3339());
scheduler.run();
}
Auto Trait Implementations§
impl Freeze for Scheduler
impl RefUnwindSafe for Scheduler
impl Send for Scheduler
impl Sync for Scheduler
impl Unpin for Scheduler
impl UnwindSafe for Scheduler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more