Skip to main content
The gRPC services define BlockX’s external execution contract. Use the service for your deployment; request configuration bytes contain JSON for the selected Call Builder or Writer Plugin.

Worker task operations

In the BlockX repository, api/grpc/worker/worker.proto defines the Worker service, and api/grpc/bundleworker/bundle_worker.proto defines the bundle service identity. Keep Watch attached during execution. Its lifetime participates in task execution; see execution semantics.

TaskInput

The Go JSON representation uses functionCallConfig, resultHandler, and taskTimeoutMs. These names differ from the protobuf field names. Plugin configuration retains its own JSON keys; see task configuration.

Coordinator placement

CoordinatorService.ReserveWorkerSlot and BundleCoordinatorService.ReserveWorkerSlot reserve capacity on the corresponding deployment. Supply task_id, then use the returned worker_addr and slot_id to submit. The Coordinator selects resources; the Worker executes and reports the task. Protocol sources: api/grpc/coordinator/coordinator.proto and api/grpc/bundlecoordinator/bundle_coordinator.proto.

Synchronous invocation

Defined in api/grpc/syncinvoker/sync_invoker.proto. Choose exactly one of function_id or inline_source. args_json contains a JSON array. deadline_unix_ms is an absolute deadline, unlike the task’s duration field.