Files
git.stella-ops.org/docs/features/checked/jobengine/jobengine-worker-sdks.md

3.5 KiB

Orchestrator Worker SDKs (Go and Python)

Module

Orchestrator

Status

VERIFIED

Description

Multi-language Worker SDKs enabling external workers to participate in orchestrator job execution via Go and Python clients, with examples and structured API packages.

Implementation Details

  • Modules: src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/, src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/, src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/
  • Key Classes:
    • client.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/client.go) - Go SDK client for worker communication
    • config.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/config.go) - Go SDK configuration
    • artifact.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/artifact.go) - artifact handling in Go SDK
    • backfill.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/backfill.go) - backfill support in Go SDK
    • retry.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/retry.go) - retry logic in Go SDK
    • errors.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/errors.go) - error types in Go SDK
    • transport.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/internal/transport/transport.go) - HTTP transport layer for Go SDK
    • main.go (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/examples/smoke/main.go) - smoke test example worker
    • client.py (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/stellaops_orchestrator_worker/client.py) - Python SDK client
    • config.py (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/stellaops_orchestrator_worker/config.py) - Python SDK configuration
    • backfill.py (src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/stellaops_orchestrator_worker/backfill.py) - Python backfill support
    • WorkerEndpoints (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/Endpoints/WorkerEndpoints.cs) - REST API for worker registration and job assignment
    • WorkerContracts (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/Contracts/WorkerContracts.cs) - API contracts for worker communication
    • Worker (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Worker/Worker.cs) - .NET worker implementation
  • Interfaces: None (SDK clients are standalone)
  • Source: Feature matrix scan

E2E Test Plan

  • Register a Go worker via WorkerEndpoints and verify it receives a job assignment
  • Execute a job with the Go worker SDK client.go and verify results are reported back via the API
  • Register a Python worker via client.py and verify it receives a job assignment
  • Verify Go SDK retry: configure retry.go policy and simulate a transient failure; verify the SDK retries and succeeds
  • Verify artifact handling: upload an artifact via artifact.go and verify it is persisted
  • Verify backfill: trigger a backfill via backfill.py and verify it processes historical events
  • Verify Go SDK error types: trigger different error conditions and verify errors.go returns appropriate error types
  • Run the Go smoke test example main.go and verify it completes successfully against the orchestrator API

Verification

  • Verified on 2026-02-13 via run-002.
  • Tier 0: Source files confirmed present on disk (Go SDK, Python SDK, .NET endpoints).
  • Tier 1: dotnet build passed (0 errors); 1292/1292 tests passed.
  • Tier 2d: docs/qa/feature-checks/runs/jobengine/orchestrator-worker-sdks/run-002/tier2-integration-check.json