3.5 KiB
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 communicationconfig.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/config.go) - Go SDK configurationartifact.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/artifact.go) - artifact handling in Go SDKbackfill.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/backfill.go) - backfill support in Go SDKretry.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/retry.go) - retry logic in Go SDKerrors.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/pkg/workersdk/errors.go) - error types in Go SDKtransport.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/internal/transport/transport.go) - HTTP transport layer for Go SDKmain.go(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Go/examples/smoke/main.go) - smoke test example workerclient.py(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/stellaops_orchestrator_worker/client.py) - Python SDK clientconfig.py(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/stellaops_orchestrator_worker/config.py) - Python SDK configurationbackfill.py(src/JobEngine/StellaOps.JobEngine.WorkerSdk.Python/stellaops_orchestrator_worker/backfill.py) - Python backfill supportWorkerEndpoints(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/Endpoints/WorkerEndpoints.cs) - REST API for worker registration and job assignmentWorkerContracts(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/Contracts/WorkerContracts.cs) - API contracts for worker communicationWorker(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
WorkerEndpointsand verify it receives a job assignment - Execute a job with the Go worker SDK
client.goand verify results are reported back via the API - Register a Python worker via
client.pyand verify it receives a job assignment - Verify Go SDK retry: configure
retry.gopolicy and simulate a transient failure; verify the SDK retries and succeeds - Verify artifact handling: upload an artifact via
artifact.goand verify it is persisted - Verify backfill: trigger a backfill via
backfill.pyand verify it processes historical events - Verify Go SDK error types: trigger different error conditions and verify
errors.goreturns appropriate error types - Run the Go smoke test example
main.goand 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 buildpassed (0 errors); 1292/1292 tests passed. - Tier 2d:
docs/qa/feature-checks/runs/jobengine/orchestrator-worker-sdks/run-002/tier2-integration-check.json