Fix tracking locked queue ids (closes #1066)
This commit is contained in:
@@ -302,7 +302,7 @@ pub trait TestQueueEvent {
|
||||
fn assert_refresh(self);
|
||||
fn assert_done(self);
|
||||
fn assert_refresh_or_done(self);
|
||||
fn unwrap_on_hold(self) -> OnHold<QueuedMessage>;
|
||||
fn unwrap_on_hold(self) -> OnHold;
|
||||
}
|
||||
|
||||
impl TestQueueEvent for QueueEvent {
|
||||
@@ -327,9 +327,9 @@ impl TestQueueEvent for QueueEvent {
|
||||
}
|
||||
}
|
||||
|
||||
fn unwrap_on_hold(self) -> OnHold<QueuedMessage> {
|
||||
fn unwrap_on_hold(self) -> OnHold {
|
||||
match self {
|
||||
QueueEvent::OnHold(value) => value,
|
||||
QueueEvent::OnHold { status, .. } => status,
|
||||
e => panic!("Unexpected event: {e:?}"),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ async fn lmtp_delivery() {
|
||||
loop {
|
||||
match local.queue_receiver.try_read_event().await {
|
||||
Some(QueueEvent::Refresh(_) | QueueEvent::WorkerDone(_)) => {}
|
||||
Some(QueueEvent::OnHold(_)) | Some(QueueEvent::Paused(_)) => unreachable!(),
|
||||
Some(QueueEvent::OnHold { .. }) | Some(QueueEvent::Paused(_)) => unreachable!(),
|
||||
None | Some(QueueEvent::Stop) => break,
|
||||
}
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ async fn smtp_delivery() {
|
||||
loop {
|
||||
match local.queue_receiver.try_read_event().await {
|
||||
Some(QueueEvent::Refresh(_) | QueueEvent::WorkerDone(_)) => {}
|
||||
Some(QueueEvent::OnHold(_)) | Some(QueueEvent::Paused(_)) => unreachable!(),
|
||||
Some(QueueEvent::OnHold { .. }) | Some(QueueEvent::Paused(_)) => unreachable!(),
|
||||
None | Some(QueueEvent::Stop) => break,
|
||||
}
|
||||
|
||||
|
||||
@@ -93,8 +93,8 @@ async fn queue_retry() {
|
||||
Some(QueueEvent::Refresh(Some(queue_id)) | QueueEvent::WorkerDone(queue_id)) => {
|
||||
in_fight.remove(&queue_id);
|
||||
}
|
||||
Some(QueueEvent::OnHold(event)) => {
|
||||
panic!("unexpected on hold event: {:?}", event);
|
||||
Some(QueueEvent::OnHold { queue_id, status }) => {
|
||||
panic!("unexpected on hold event {queue_id}: {status:?}");
|
||||
}
|
||||
Some(QueueEvent::Refresh(None)) => (),
|
||||
None | Some(QueueEvent::Stop) | Some(QueueEvent::Paused(_)) => break,
|
||||
@@ -121,9 +121,7 @@ async fn queue_retry() {
|
||||
} else {
|
||||
retries.push(event.due.saturating_sub(now));
|
||||
in_fight.insert(event.queue_id);
|
||||
assert!(DeliveryAttempt::new(event)
|
||||
.try_deliver(core.clone())
|
||||
.is_none());
|
||||
DeliveryAttempt::new(event).try_deliver(core.clone());
|
||||
tokio::time::sleep(Duration::from_millis(100)).await;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user