eshanized-polaris-macros

Crates.ioeshanized-polaris-macros
lib.rseshanized-polaris-macros
version0.1.1
created_at2025-10-14 19:13:54.451931+00
updated_at2025-10-14 19:25:24.418593+00
descriptionProcedural macros for the Polaris distributed compute framework
homepagehttps://gitlab.com/TIVisionOSS/crates/polaris
repositoryhttps://gitlab.com/TIVisionOSS/crates/polaris
max_upload_size
id1882952
size8,721
Eshan Roy (eshanized)

documentation

https://docs.rs/eshanized-polaris-macros

README

Polaris Macros

Crates.io Documentation

Procedural macros for the Polaris distributed compute framework.

Overview

This crate provides convenient macros for defining Polaris tasks and jobs:

  • #[task] - Define a distributed task
  • #[job] - Define a job (collection of tasks)

Usage

use eshanized_polaris::prelude::*;

#[eshanized_polaris::task]
async fn my_task(input: String) -> PolarisResult<String> {
    Ok(input.to_uppercase())
}

#[eshanized_polaris::task(name = "custom_name", timeout = 60, retries = 5)]
async fn advanced_task(data: Vec<u8>) -> PolarisResult<Vec<u8>> {
    // Process data
    Ok(data)
}

#[eshanized_polaris::job]
async fn batch_process(inputs: Vec<String>) -> PolarisResult<Vec<String>> {
    // Process multiple inputs
    Ok(inputs)
}

Macro Options

#[task]

  • name - Custom task name (default: function name)
  • timeout - Task timeout in seconds
  • retries - Maximum retry attempts

Features

  • Automatic tracing span creation
  • Error handling integration
  • Serialization bounds checking

License

MIT - See LICENSE for details.

Commit count: 0

cargo fmt