WorkflowContext
This interface can be used only within workflow handlers of workflow. It extends Context adding access to the workflow instance key-value state storage and to the DurablePromise API.
NOTE: This interface MUST NOT be accessed concurrently since it can lead to different orderings of user actions, corrupting the execution of the invocation.
See also
Functions
Create a new AwakeableHandle for the provided identifier. You can use it to AwakeableHandle.resolve or AwakeableHandle.reject the linked Awakeable.
Returns the current time as a deterministic Instant.
Get an InvocationHandle for an already existing invocation. This will let you interact with a running invocation, for example to cancel it or retrieve its result.
Get an InvocationHandle for an already existing invocation. This will let you interact with a running invocation, for example to cancel it or retrieve its result.
Create a DurablePromise for the given key.
Create a new DurablePromiseHandle for the provided key. You can use it to DurablePromiseHandle.resolve or DurablePromiseHandle.reject the given DurablePromise.
Create a RestateRandom instance inherently predictable, seeded on the dev.restate.sdk.common.InvocationId, which is not secret.
Execute a closure asynchronously. This is like runBlock, but it returns a DurableFuture that you can combine and select.
Execute a closure asynchronously. This is like runBlock, but it returns a DurableFuture that you can combine and select.
Execute a closure, recording the result value in the journal. The result value will be re-played in case of re-invocation (e.g. because of failure recovery or suspension point) without re-executing the closure.
Execute a closure, recording the result value in the journal. The result value will be re-played in case of re-invocation (e.g. because of failure recovery or suspension point) without re-executing the closure.
Gets all the known state keys for this virtual object instance.
Causes the start of a timer for the given duration. You can await on the timer end by invoking DurableFuture.await.