26.297. Interface ISubmitter

Namespace: ArmoniK.Core.Common.gRPC.Services
Assembly: ArmoniK.Core.Common.dll

Defines the contract for submitting, managing, and retrieving tasks and sessions in the ArmoniK system.

public interface ISubmitter

26.297.1. Remarks

This interface provides asynchronous methods for session and task lifecycle management, result retrieval, and configuration queries.

26.297.2. Methods

26.297.2.1. CancelSession(string, CancellationToken)

Cancels the specified session and all associated tasks.

Task CancelSession(string sessionId, CancellationToken cancellationToken)

26.297.2.1.1. Parameters

sessionId string

The ID of the session to cancel.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.1.2. Returns

Task

26.297.2.2. CompleteTaskAsync(TaskData, SessionData, bool, Output, CancellationToken)

Marks a task as completed and optionally resubmits it if required.

Task CompleteTaskAsync(TaskData taskData, SessionData sessionData, bool resubmit, Output output, CancellationToken cancellationToken = default)

26.297.2.2.1. Parameters

taskData TaskData

The task data to complete.

sessionData SessionData

The session data associated with the task.

resubmit bool

Whether to resubmit the task after completion.

output Output

The output of the completed task.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.2.2. Returns

Task

26.297.2.3. CreateSession(IList<string>, TaskOptions, CancellationToken)

Creates a new session with the specified partition IDs and default task options.

Task<CreateSessionReply> CreateSession(IList<string> partitionIds, TaskOptions defaultTaskOptions, CancellationToken cancellationToken)

26.297.2.3.1. Parameters

partitionIds IList<string>

The list of partition IDs for the session.

defaultTaskOptions TaskOptions

The default options to use for tasks in this session.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.3.2. Returns

Task<CreateSessionReply>

A reply containing session creation details.

26.297.2.4. CreateTasks(string, string, TaskOptions?, IAsyncEnumerable<TaskRequest>, CancellationToken)

Creates multiple tasks in a session.

Task<ICollection<TaskCreationRequest>> CreateTasks(string sessionId, string parentTaskId, TaskOptions? options, IAsyncEnumerable<TaskRequest> taskRequests, CancellationToken cancellationToken)

26.297.2.4.1. Parameters

sessionId string

The ID of the session to add tasks to.

parentTaskId string

The parent task ID, if any.

options TaskOptions?

Optional task options to override the session defaults.

taskRequests IAsyncEnumerable<TaskRequest>

A stream of task requests containing payloads and dependencies.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.4.2. Returns

Task<ICollection<TaskCreationRequest>>

A collection of task creation requests.

26.297.2.5. FinalizeTaskCreation(IEnumerable<TaskCreationRequest>, SessionData, string, CancellationToken)

Finalizes the creation of tasks after they have been submitted.

Task FinalizeTaskCreation(IEnumerable<TaskCreationRequest> requests, SessionData sessionData, string parentTaskId, CancellationToken cancellationToken)

26.297.2.5.1. Parameters

requests IEnumerable<TaskCreationRequest>

The collection of task creation requests to finalize.

sessionData SessionData

The session data associated with the tasks.

parentTaskId string

The parent task ID

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.5.2. Returns

Task

26.297.2.6. GetServiceConfiguration(Empty, CancellationToken)

Retrieves the service configuration.

Task<Configuration> GetServiceConfiguration(Empty request, CancellationToken cancellationToken)

26.297.2.6.1. Parameters

request Empty

The configuration request (empty).

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.6.2. Returns

Task<Configuration>

The current service configuration.

26.297.2.7. SetResult(string, string, string, IAsyncEnumerable<ReadOnlyMemory<byte>>, CancellationToken)

Sets the result for a given task and key by streaming the result chunks.

Task SetResult(string sessionId, string ownerTaskId, string key, IAsyncEnumerable<ReadOnlyMemory<byte>> chunks, CancellationToken cancellationToken)

26.297.2.7.1. Parameters

sessionId string

The session ID associated with the result.

ownerTaskId string

The task ID that owns the result.

key string

The result key.

chunks IAsyncEnumerable<ReadOnlyMemory<byte>>

A stream of result data chunks.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.7.2. Returns

Task

26.297.2.8. TryGetResult(ResultRequest, IServerStreamWriter<ResultReply>, CancellationToken)

Attempts to retrieve the result for a given request and streams it to the client.

Task TryGetResult(ResultRequest request, IServerStreamWriter<ResultReply> responseStream, CancellationToken cancellationToken)

26.297.2.8.1. Parameters

request ResultRequest

The result request specifying the task and result key.

responseStream IServerStreamWriter<ResultReply>

The server stream writer to send result replies.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.8.2. Returns

Task

26.297.2.9. WaitForAvailabilityAsync(ResultRequest, CancellationToken)

Waits for the availability of a result for a given request.

Task<AvailabilityReply> WaitForAvailabilityAsync(ResultRequest request, CancellationToken contextCancellationToken)

26.297.2.9.1. Parameters

request ResultRequest

The result request specifying the task and result key.

contextCancellationToken CancellationToken

Token to cancel the operation.

26.297.2.9.2. Returns

Task<AvailabilityReply>

A reply indicating the availability of the result.

26.297.2.10. WaitForCompletion(WaitRequest, CancellationToken)

Waits for the completion of the specified tasks or session.

Task<Count> WaitForCompletion(WaitRequest request, CancellationToken cancellationToken)

26.297.2.10.1. Parameters

request WaitRequest

The wait request specifying which tasks or session to wait for.

cancellationToken CancellationToken

Token to cancel the operation.

26.297.2.10.2. Returns

Task<Count>

A count indicating how many tasks have completed.