21.292. Class Submitter
Namespace: ArmoniK.Core.Common.gRPC.Services
Assembly: ArmoniK.Core.Common.dll
Implements the
public class Submitter : ISubmitter
21.292.1. Inheritance
21.292.2. Implements
21.292.3. Inherited Members
object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
21.292.4. Constructors
21.292.4.1. Submitter(IPushQueueStorage, IObjectStorage, ILogger<Submitter>, ISessionTable, ITaskTable, IResultTable, IPartitionTable, Submitter, ActivitySource)
Initializes a new instance of the
[UsedImplicitly]
public Submitter(IPushQueueStorage pushQueueStorage, IObjectStorage objectStorage, ILogger<Submitter> logger, ISessionTable sessionTable, ITaskTable taskTable, IResultTable resultTable, IPartitionTable partitionTable, Submitter submitterOptions, ActivitySource activitySource)
21.292.4.1.1. Parameters
pushQueueStorage IPushQueueStorage
The queue storage for pushing tasks to be processed.
objectStorage IObjectStorage
The object storage for managing payloads and results.
The logger for diagnostic and trace logging.
sessionTable ISessionTable
The session table for managing session metadata.
taskTable ITaskTable
The task table for managing task metadata.
resultTable IResultTable
The result table for managing result metadata.
partitionTable IPartitionTable
The partition table for managing partition metadata.
submitterOptions Submitter
The submitter options for configuration.
activitySource ActivitySource
The activity source for distributed tracing.
21.292.5. Methods
21.292.5.1. CancelSession(string, CancellationToken)
Cancels the specified session and all associated tasks.
public Task CancelSession(string sessionId, CancellationToken cancellationToken)
21.292.5.1.1. Parameters
sessionId string
The ID of the session to cancel.
cancellationToken CancellationToken
Token to cancel the operation.
21.292.5.1.2. Returns
21.292.5.2. CompleteTaskAsync(TaskData, SessionData, bool, Output, CancellationToken)
Marks a task as completed and optionally resubmits it if required.
public Task CompleteTaskAsync(TaskData taskData, SessionData sessionData, bool resubmit, Output output, CancellationToken cancellationToken = default)
21.292.5.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.
21.292.5.2.2. Returns
21.292.5.3. CreateSession(IList<string>, TaskOptions, CancellationToken)
Creates a new session with the specified partition IDs and default task options.
public Task<CreateSessionReply> CreateSession(IList<string> partitionIds, TaskOptions defaultTaskOptions, CancellationToken cancellationToken)
21.292.5.3.1. Parameters
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.
21.292.5.3.2. Returns
Task<CreateSessionReply>
A reply containing session creation details.
21.292.5.4. CreateTasks(string, string, TaskOptions?, IAsyncEnumerable<TaskRequest>, CancellationToken)
Creates multiple tasks in a session.
public Task<ICollection<TaskCreationRequest>> CreateTasks(string sessionId, string parentTaskId, TaskOptions? options, IAsyncEnumerable<TaskRequest> taskRequests, CancellationToken cancellationToken)
21.292.5.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.
21.292.5.4.2. Returns
Task<ICollection<TaskCreationRequest>>
A collection of task creation requests.
21.292.5.5. FinalizeTaskCreation(IEnumerable<TaskCreationRequest>, SessionData, string, CancellationToken)
Finalizes the creation of tasks after they have been submitted.
public Task FinalizeTaskCreation(IEnumerable<TaskCreationRequest> requests, SessionData sessionData, string parentTaskId, CancellationToken cancellationToken)
21.292.5.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.
21.292.5.5.2. Returns
21.292.5.6. GetServiceConfiguration(Empty, CancellationToken)
Retrieves the service configuration.
public Task<Configuration> GetServiceConfiguration(Empty request, CancellationToken cancellationToken)
21.292.5.6.1. Parameters
request Empty
The configuration request (empty).
cancellationToken CancellationToken
Token to cancel the operation.
21.292.5.6.2. Returns
Task<Configuration>
The current service configuration.
21.292.5.7. SetResult(string, string, string, IAsyncEnumerable<ReadOnlyMemory<byte>>, CancellationToken)
Sets the result for a given task and key by streaming the result chunks.
public Task SetResult(string sessionId, string ownerTaskId, string key, IAsyncEnumerable<ReadOnlyMemory<byte>> chunks, CancellationToken cancellationToken)
21.292.5.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.
21.292.5.7.2. Returns
21.292.5.8. TryGetResult(ResultRequest, IServerStreamWriter<ResultReply>, CancellationToken)
Attempts to retrieve the result for a given request and streams it to the client.
public Task TryGetResult(ResultRequest request, IServerStreamWriter<ResultReply> responseStream, CancellationToken cancellationToken)
21.292.5.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.
21.292.5.8.2. Returns
21.292.5.9. WaitForAvailabilityAsync(ResultRequest, CancellationToken)
Waits for the availability of a result for a given request.
public Task<AvailabilityReply> WaitForAvailabilityAsync(ResultRequest request, CancellationToken contextCancellationToken)
21.292.5.9.1. Parameters
request ResultRequest
The result request specifying the task and result key.
contextCancellationToken CancellationToken
Token to cancel the operation.
21.292.5.9.2. Returns
Task<AvailabilityReply>
A reply indicating the availability of the result.
21.292.5.10. WaitForCompletion(WaitRequest, CancellationToken)
Waits for the completion of the specified tasks or session.
public Task<Count> WaitForCompletion(WaitRequest request, CancellationToken cancellationToken)
21.292.5.10.1. Parameters
request WaitRequest
The wait request specifying which tasks or session to wait for.
cancellationToken CancellationToken
Token to cancel the operation.
21.292.5.10.2. Returns
Task<Count>
A count indicating how many tasks have completed.