У меня есть .net core 2 WebAPI, который записывает путь к файлу в очередь RabbitMQ, а затем открывает процесс, который использует эти сообщения и выполняет некоторую фоновую обработку этих файлов, выполнение которой может занять некоторое время.
У меня есть фрагмент кода, который сообщает мне, что очередь пуста, но, поскольку для завершения каждого сообщения может потребоваться время, это ложное срабатывание, и я не могу использовать его для этой цели:
public bool HasMessages(string queueName)
{
return channel.QueueDeclare(
queue: queueName,
durable: false,
exclusive: false,
autoDelete: false
).MessageCount > 0;
}
Есть ли способ узнать, когда все сообщения этой очереди были подтверждены, прежде чем я продолжу в своем коде?