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)
10pub fn main() {
11 let mut scheduler = Scheduler::new(4);
12
13 scheduler.schedule_job("Every 1 minutes", "* * * * *", || {
14 println!("Executes every minute: {}", now().rfc3339());
15 });
16
17 scheduler.schedule_job("Every 2 minutes", &every_n_minutes(2), || {
18 println!("Executes two minutes: {}", now().rfc3339());
19 });
20
21 scheduler.schedule_job("Every 3 minutes", &every_n_minutes(3), || {
22 println!("Executes three minutes: {}", now().rfc3339());
23 });
24
25 scheduler.schedule_job("Every 5 minutes", &every_n_minutes(5), || {
26 println!("Executes five minutes: {}", now().rfc3339());
27 });
28
29 println!("Running scheduler example: {}", now().rfc3339());
30 scheduler.run();
31}
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)
10pub fn main() {
11 let mut scheduler = Scheduler::new(4);
12
13 scheduler.schedule_job("Every 1 minutes", "* * * * *", || {
14 println!("Executes every minute: {}", now().rfc3339());
15 });
16
17 scheduler.schedule_job("Every 2 minutes", &every_n_minutes(2), || {
18 println!("Executes two minutes: {}", now().rfc3339());
19 });
20
21 scheduler.schedule_job("Every 3 minutes", &every_n_minutes(3), || {
22 println!("Executes three minutes: {}", now().rfc3339());
23 });
24
25 scheduler.schedule_job("Every 5 minutes", &every_n_minutes(5), || {
26 println!("Executes five minutes: {}", now().rfc3339());
27 });
28
29 println!("Running scheduler example: {}", now().rfc3339());
30 scheduler.run();
31}
Sourcepub fn run(&mut self) -> !
pub fn run(&mut self) -> !
Run the jobs.
Examples found in repository?
examples/timers.rs (line 30)
10pub fn main() {
11 let mut scheduler = Scheduler::new(4);
12
13 scheduler.schedule_job("Every 1 minutes", "* * * * *", || {
14 println!("Executes every minute: {}", now().rfc3339());
15 });
16
17 scheduler.schedule_job("Every 2 minutes", &every_n_minutes(2), || {
18 println!("Executes two minutes: {}", now().rfc3339());
19 });
20
21 scheduler.schedule_job("Every 3 minutes", &every_n_minutes(3), || {
22 println!("Executes three minutes: {}", now().rfc3339());
23 });
24
25 scheduler.schedule_job("Every 5 minutes", &every_n_minutes(5), || {
26 println!("Executes five minutes: {}", now().rfc3339());
27 });
28
29 println!("Running scheduler example: {}", now().rfc3339());
30 scheduler.run();
31}
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