pub struct TaskBuilder { /* private fields */ }Expand description
Builder for configuring scheduled tasks with a fluent API
This builder is returned by Schedule::call() and allows you to configure
when and how a closure-based task should run.
§Example
schedule.call(|| async {
println!("Running task!");
Ok(())
})
.daily()
.at("03:00")
.name("daily-task")
.description("Runs every day at 3 AM");Implementations§
Source§impl TaskBuilder
impl TaskBuilder
Sourcepub fn new<F>(f: F) -> Self
pub fn new<F>(f: F) -> Self
Create a new task builder with a closure
The closure should return a future that resolves to Result<(), FrameworkError>.
Sourcepub fn from_async<F, Fut>(f: F) -> Self
pub fn from_async<F, Fut>(f: F) -> Self
Create a TaskBuilder from an async closure
This is a convenience method that wraps the async closure properly.
Sourcepub fn try_cron(self, expression: &str) -> Result<Self, String>
pub fn try_cron(self, expression: &str) -> Result<Self, String>
Try to set a custom cron expression, returning an error if invalid
Sourcepub fn every_minute(self) -> Self
pub fn every_minute(self) -> Self
Run every minute
Sourcepub fn every_two_minutes(self) -> Self
pub fn every_two_minutes(self) -> Self
Run every 2 minutes
Sourcepub fn every_five_minutes(self) -> Self
pub fn every_five_minutes(self) -> Self
Run every 5 minutes
Sourcepub fn every_ten_minutes(self) -> Self
pub fn every_ten_minutes(self) -> Self
Run every 10 minutes
Sourcepub fn every_fifteen_minutes(self) -> Self
pub fn every_fifteen_minutes(self) -> Self
Run every 15 minutes
Sourcepub fn every_thirty_minutes(self) -> Self
pub fn every_thirty_minutes(self) -> Self
Run every 30 minutes
Sourcepub fn every_two_hours(self) -> Self
pub fn every_two_hours(self) -> Self
Run every 2 hours
Sourcepub fn every_three_hours(self) -> Self
pub fn every_three_hours(self) -> Self
Run every 3 hours
Sourcepub fn every_four_hours(self) -> Self
pub fn every_four_hours(self) -> Self
Run every 4 hours
Sourcepub fn every_six_hours(self) -> Self
pub fn every_six_hours(self) -> Self
Run every 6 hours
Sourcepub fn twice_daily(self, first_hour: u32, second_hour: u32) -> Self
pub fn twice_daily(self, first_hour: u32, second_hour: u32) -> Self
Sourcepub fn wednesdays(self) -> Self
pub fn wednesdays(self) -> Self
Run on Wednesdays at midnight
Sourcepub fn monthly_on(self, day: u32) -> Self
pub fn monthly_on(self, day: u32) -> Self
Sourcepub fn name(self, name: &str) -> Self
pub fn name(self, name: &str) -> Self
Set a name for this task
The name is used in logs and when listing scheduled tasks.
Sourcepub fn description(self, desc: &str) -> Self
pub fn description(self, desc: &str) -> Self
Set a description for this task
The description is shown when listing scheduled tasks.
Sourcepub fn without_overlapping(self) -> Self
pub fn without_overlapping(self) -> Self
Prevent overlapping task runs
When enabled, the scheduler will skip running this task if a previous run is still in progress.
Sourcepub fn run_in_background(self) -> Self
pub fn run_in_background(self) -> Self
Run task in background (non-blocking)
When enabled, the scheduler won’t wait for the task to complete before continuing to the next task.
Auto Trait Implementations§
impl Freeze for TaskBuilder
impl !RefUnwindSafe for TaskBuilder
impl Send for TaskBuilder
impl Sync for TaskBuilder
impl Unpin for TaskBuilder
impl UnsafeUnpin for TaskBuilder
impl !UnwindSafe for TaskBuilder
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);