task

Attribute Macro task 

Source
#[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 seconds
  • retries: 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())
}