public Task CreateIfNotExistedAsync()

in src/Libs/Common/Queues/Queue.cs [22:47]


        public Task CreateIfNotExistedAsync() =>
            _client.CreateIfNotExistsAsync();

        public async Task<QueueMessage<T>?> ReceiveAsync(
            TimeSpan? visibilityTimeout,
            CancellationToken cancellationToken)
        {
            while (true)
            {
                var messages = await _client.ReceiveMessagesAsync(1, visibilityTimeout ?? TimeSpan.FromMinutes(5),
                    cancellationToken);

                if (messages.Value.Length == 0)
                {
                    return null;
                }
                var msg = messages.Value[0];
                if (msg.DequeueCount > 3)
                {
                    await _client.DeleteMessageAsync(msg.MessageId, msg.PopReceipt, cancellationToken);
                    continue;
                }
                return new QueueMessage<T>(msg.MessageId, msg.PopReceipt,
                    JsonConvert.DeserializeObject<T>(msg.MessageText));
            }
        }