#[task]Expand description
Attribute macro for defining Polaris tasks.
This macro transforms a regular async function into a Polaris task, adding necessary serialization bounds and tracing instrumentation.
§Example
ⓘ
use polaris::prelude::*;
#[polaris::task]
async fn compute_square(x: i32) -> PolarisResult<i32> {
Ok(x * x)
}§Options
name: Custom task name (default: function name)timeout: Task timeout in secondsretries: Maximum retry attempts
§Example with options
ⓘ
#[polaris::task(name = "my_task", timeout = 60, retries = 5)]
async fn my_function(input: String) -> PolarisResult<String> {
Ok(input.to_uppercase())
}