api_v1_workers - OmniCloudOrg/OmniOrchestrator GitHub Wiki

workers (src/api/v1)

Path: src/api/v1/workers.rs

Module Documentation

Worker management module for the OmniOrchestrator API

This module provides a REST API for managing workers, including:

  • Listing workers
  • Creating new workers
  • Updating existing workers
  • Getting worker details and statistics
  • Starting and stopping workers
  • Scaling workers
  • Deleting workers

Table of Contents

Public Items

async fn list_workers

Definition

pub async fn list_workers(
    page: Option<u64>,
    per_page: Option<u64>,
    pool: &State<sqlx::Pool<MySql>>,
) -> Result<Json<Vec<Worker>>, Status> {
    let workers = db::worker::list_workers(pool, page, per_page).await.map_err(|_| Status::InternalServerError)?;
    Ok(Json(workers))
}

/// Get a worker by its ID.
#[get("/workers/<worker_id>")]
pub async fn get_worker_by_id(
    worker_id: i64,
    pool: &State<sqlx::Pool<MySql>>,
) -> Result<Json<Worker>, Status> {
    let worker = db::worker::get_worker_by_id(pool, worker_id).await.map_err(|_| Status::NotFound)?;
    Ok(Json(worker))
    // ... function body
}

Documentation

List all workers with pagination support.

async fn get_worker_by_id

Definition

pub async fn get_worker_by_id(
    worker_id: i64,
    pool: &State<sqlx::Pool<MySql>>,
) -> Result<Json<Worker>, Status> {
    let worker = db::worker::get_worker_by_id(pool, worker_id).await.map_err(|_| Status::NotFound)?;
    Ok(Json(worker))
    // ... function body
}

Documentation

Get a worker by its ID.

⚠️ **GitHub.com Fallback** ⚠️