Task ScheduleAt(UnicastTransportOperation operation, DateTimeOffset date, CancellationToken cancellationToken) { var delayedMessageEntity = new DelayedMessageEntity { PartitionKey = DelayedMessageEntity.GetPartitionKey(date), RowKey = $"{DelayedMessageEntity.GetRawRowKeyPrefix(date)}_{Guid.NewGuid():N}", }; delayedMessageEntity.SetOperation(operation); return(delayedMessagesTable.ExecuteAsync(TableOperation.Insert(delayedMessageEntity), null, null, cancellationToken)); }
public Task ScheduleAt(UnicastTransportOperation operation, DateTimeOffset date, CancellationToken cancellationToken = default) { if (!enabled) { throw new Exception("Native delayed deliveries are not enabled."); } var delayedMessageEntity = new DelayedMessageEntity { PartitionKey = DelayedMessageEntity.GetPartitionKey(date), RowKey = $"{DelayedMessageEntity.GetRawRowKeyPrefix(date)}_{Guid.NewGuid():N}", }; delayedMessageEntity.SetOperation(operation); return(delayedMessageStorageTable.ExecuteAsync(TableOperation.Insert(delayedMessageEntity), null, null, cancellationToken)); }