Table of Contents

Class InferenceRequestRepositoryBase

Namespace
Monai.Deploy.InformaticsGateway.Database.Api.Repositories
Assembly
Monai.Deploy.InformaticsGateway.Database.Api.dll
public abstract class InferenceRequestRepositoryBase : IInferenceRequestRepository
Inheritance
InferenceRequestRepositoryBase
Implements

Constructors

InferenceRequestRepositoryBase(ILogger, IOptions<DatabaseOptions>)

protected InferenceRequestRepositoryBase(ILogger logger, IOptions<DatabaseOptions> options)

Parameters

logger ILogger
options IOptions<DatabaseOptions>

Methods

AddAsync(InferenceRequest, CancellationToken)

Adds new inference request to the repository.

public abstract Task AddAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default)

Parameters

inferenceRequest InferenceRequest

The inference request to be added.

cancellationToken CancellationToken

Returns

Task

ExistsAsync(string, CancellationToken)

Exists checks whether if an existing request with the same transaction ID exists.

public virtual Task<bool> ExistsAsync(string transactionId, CancellationToken cancellationToken = default)

Parameters

transactionId string
cancellationToken CancellationToken

Returns

Task<bool>

GetInferenceRequestAsync(Guid, CancellationToken)

Get returns the specified inference request.

public abstract Task<InferenceRequest?> GetInferenceRequestAsync(Guid inferenceRequestId, CancellationToken cancellationToken = default)

Parameters

inferenceRequestId Guid

The internal ID of the request.

cancellationToken CancellationToken

Returns

Task<InferenceRequest>

GetInferenceRequestAsync(string, CancellationToken)

Get returns the specified inference request.

public abstract Task<InferenceRequest?> GetInferenceRequestAsync(string transactionId, CancellationToken cancellationToken = default)

Parameters

transactionId string

The transactionId of the request.

cancellationToken CancellationToken

Returns

Task<InferenceRequest>

GetStatusAsync(string, CancellationToken)

GetStatus returns the status of the specified inference request.

public virtual Task<InferenceStatusResponse?> GetStatusAsync(string transactionId, CancellationToken cancellationToken = default)

Parameters

transactionId string

The transactionId from the original request.

cancellationToken CancellationToken

Returns

Task<InferenceStatusResponse>

SaveAsync(InferenceRequest, CancellationToken)

protected abstract Task SaveAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default)

Parameters

inferenceRequest InferenceRequest
cancellationToken CancellationToken

Returns

Task

TakeAsync(CancellationToken)

Take returns the next pending inference request for data retrieval. The default implementation blocks the call until a pending inference request is available for process.

public abstract Task<InferenceRequest> TakeAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

cancellation token used to cancel the action.

Returns

Task<InferenceRequest>

InferenceRequest

UpdateAsync(InferenceRequest, InferenceRequestStatus, CancellationToken)

Updates an inference request's status. The default implementation drops the request after 3 retries if status is Fail.

public Task UpdateAsync(InferenceRequest inferenceRequest, InferenceRequestStatus status, CancellationToken cancellationToken = default)

Parameters

inferenceRequest InferenceRequest

The inference request to be updated.

status InferenceRequestStatus

Current status of the inference request.

cancellationToken CancellationToken

Returns

Task