class documentation
class NexusClient(ABC, Generic[
Known subclasses: temporalio.client._nexus._NexusClient
Client for starting standalone Nexus operations.
Warning
This API is experimental and unstable.
Use Client.create_nexus_client to create a client.
| Async Method | execute |
Start a Nexus operation and wait for its result. |
| Async Method | start |
Start a Nexus operation and return a handle. |
@overload
@abstractmethod
@abstractmethod
async def execute_operation(self, operation:
nexusrpc.Operation[ InputT, OutputT], arg: InputT, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> OutputT:@overload
@abstractmethod
@abstractmethod
async def execute_operation(self, operation:
Callable[ ..., Any], arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, result_type: type[ OutputT], schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> OutputT:@overload
@abstractmethod
@abstractmethod
async def execute_operation(self, operation:
Callable[ ..., Any], arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> Any:@overload
@abstractmethod
@abstractmethod
async def execute_operation(self, operation:
str, arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, result_type: type[ OutputT], schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> OutputT:@overload
@abstractmethod
@abstractmethod
async def execute_operation(self, operation:
str, arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> Any:@abstractmethod
(source)
¶
overridden in
temporalio.client._nexus._NexusClientStart a Nexus operation and wait for its result.
Warning
This API is experimental and unstable.
This is a shortcut for await (await nexus_client.start_operation(...)).result().
| Parameters | |
operation:nexusrpc.Operation[ | The operation to execute. Can be a nexusrpc.Operation, a callable operation method, or a string name. |
arg:Any | Input argument for the operation. |
id:str | Unique identifier for this operation. |
idtemporalio.common.NexusOperationIDReusePolicy | Policy for reusing operation IDs. |
idtemporalio.common.NexusOperationIDConflictPolicy | Policy for handling ID conflicts. |
resulttype | None | The result type to deserialize into. |
scheduletimedelta | None | End-to-end timeout for the Nexus operation. If unset, defaults to the maximum allowed by the Temporal server. |
scheduletimedelta | None | Maximum time to wait for the operation to be started (or completed, if synchronous) by the handler. If unset, no schedule-to-start timeout is enforced. |
starttimedelta | None | Maximum time to wait for an asynchronous operation to complete after it has been started. Only applies to asynchronous operations and is ignored for synchronous operations. If unset, no start-to-close timeout is enforced. |
searchtemporalio.common.TypedSearchAttributes | None | Search attributes for the operation. |
summary:str | None | Summary for the operation. |
headers:Mapping[ | Headers to attach to the Nexus request. |
rpcMapping[ | Headers used on the RPC call. |
rpctimedelta | None | Optional RPC deadline to set for the RPC call. |
| Returns | |
Any | The result of the operation. |
@overload
@abstractmethod
@abstractmethod
async def start_operation(self, operation:
nexusrpc.Operation[ InputT, OutputT], arg: InputT, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> NexusOperationHandle[ OutputT]:@overload
@abstractmethod
@abstractmethod
async def start_operation(self, operation:
Callable[ ..., Any], arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, result_type: type[ OutputT], schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> NexusOperationHandle[ OutputT]:@overload
@abstractmethod
@abstractmethod
async def start_operation(self, operation:
Callable[ ..., Any], arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> NexusOperationHandle[ Any]:@overload
@abstractmethod
@abstractmethod
async def start_operation(self, operation:
str, arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, result_type: type[ OutputT], schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> NexusOperationHandle[ OutputT]:@overload
@abstractmethod
@abstractmethod
async def start_operation(self, operation:
str, arg: Any, *, id: str, id_reuse_policy: temporalio.common.NexusOperationIDReusePolicy = temporalio.common.NexusOperationIDReusePolicy.ALLOW_DUPLICATE, id_conflict_policy: temporalio.common.NexusOperationIDConflictPolicy = temporalio.common.NexusOperationIDConflictPolicy.FAIL, schedule_to_close_timeout: timedelta | None = None, schedule_to_start_timeout: timedelta | None = None, start_to_close_timeout: timedelta | None = None, search_attributes: temporalio.common.TypedSearchAttributes | None = None, summary: str | None = None, headers: Mapping[ str, str] | None = None, rpc_metadata: Mapping[ str, str | bytes] = {}, rpc_timeout: timedelta | None = None) -> NexusOperationHandle[ Any]:@abstractmethod
(source)
¶
overridden in
temporalio.client._nexus._NexusClientStart a Nexus operation and return a handle.
Warning
This API is experimental and unstable.
| Parameters | |
operation:nexusrpc.Operation[ | The operation to start. Can be a nexusrpc.Operation, a callable operation method, or a string name. |
arg:Any | Input argument for the operation. |
id:str | Unique identifier for this operation. |
idtemporalio.common.NexusOperationIDReusePolicy | Policy for reusing operation IDs. |
idtemporalio.common.NexusOperationIDConflictPolicy | Policy for handling ID conflicts. |
resulttype | None | The result type to deserialize into. |
scheduletimedelta | None | End-to-end timeout for the Nexus operation. If unset, defaults to the maximum allowed by the Temporal server. |
scheduletimedelta | None | Maximum time to wait for the operation to be started (or completed, if synchronous) by the handler. If unset, no schedule-to-start timeout is enforced. |
starttimedelta | None | Maximum time to wait for an asynchronous operation to complete after it has been started. Only applies to asynchronous operations and is ignored for synchronous operations. If unset, no start-to-close timeout is enforced. |
searchtemporalio.common.TypedSearchAttributes | None | Search attributes for the operation. |
summary:str | None | Summary for the operation. |
headers:Mapping[ | Headers to attach to the Nexus request. |
rpcMapping[ | Headers used on the RPC call. |
rpctimedelta | None | Optional RPC deadline to set for the RPC call. |
| Returns | |
NexusOperationHandle[ | A handle to the started operation. |