SAService Architect Back to designer
SAService ArchitectDocumentation
Python API reference project.pool() | project.service() | service.pipeline()

Pool, Service, and Pipeline

Execution capacity, deployment boundary, and stream namespace objects.

When to use

Create pools and services at project scope, then create streams through a named Pipeline.

Behavior

  • Pool controls executors and optional queue capacity for task-pool links.
  • Service stores language, listener, lifecycle, deployment, and default call-semantic settings.
  • Pipeline is a named stream registry inside one Service and exposes concrete stream factories.

project.pool() properties

Task pool factory.

PropertyTypeDescription
namestr

Pool name and derived key.

Required
executors_countint

Number of concurrent executors.

Required
queue_capacityint | None

Optional bounded queue capacity.

Default: None

project.service() properties

Service factory and common generated defaults.

PropertyTypeDescription
namestr

Service name and directory identity.

Required
programming_languageProgrammingLanguage

Target runtime language.

Required
module_pathstr

Service package/module identity.

Required
default_call_semanticsCallSemantics

Semantics used when a persisted link override is absent.

Default: FunctionCall
http_host / http_portstr / int

Generated HTTP listener.

Default: 0.0.0.0 / 8080
grpc_host / grpc_portstr / int

Generated gRPC listener.

Default: 0.0.0.0 / 9090
default_grpc_timeoutint

Default gRPC timeout in milliseconds.

Default: 30000
shutdown_timeoutint

Total service shutdown timeout in milliseconds.

Default: 30000
kubernetes_workload_typeKubernetesWorkloadType

Generated Kubernetes workload kind.

Default: Deployment
status_handler / metrics_handlerstr

Status and metrics HTTP paths.

Default: status / metrics
startup_handler / readiness_handler / liveness_handlerstr

Kubernetes probe paths.

Default: health/startup, health/ready, health/live

service.pipeline(name) properties

Named stream namespace.

PropertyTypeDescription
namestr

Pipeline name and key.

Required
streamsdict[str, Stream]

Streams registered by concrete factory methods.

Python example

workers = project.pool("Workers", executors_count=8, queue_capacity=1000)
service = project.service(
    "Order Service",
    programming_language=ProgrammingLanguage.GO,
    module_path="github.com/example/orders/orderservice",
    shutdown_timeout=45_000,
)
orders = service.pipeline("orders")