Skip to content

Commit 6a4738f

Browse files
committed
Auto merge of #651 - Mark-Simulacrum:better-queue, r=Mark-Simulacrum
Fix deserialization
2 parents f2b24d2 + 5ebf483 commit 6a4738f

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

src/agent/api.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,14 @@ impl AgentApi {
140140
}
141141

142142
pub fn next_crate(&self, ex: &str) -> Fallible<Option<Crate>> {
143-
self.retry(|this| loop {
144-
this.build_request(Method::POST, "next-crate")
143+
self.retry(|this| {
144+
let resp: Option<Crate> = this
145+
.build_request(Method::POST, "next-crate")
145146
.json(&json!(ex))
146147
.send()?
147-
.to_api_response()?
148+
.to_api_response()?;
149+
150+
Ok(resp)
148151
})
149152
}
150153

src/server/routes/agent.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -149,16 +149,17 @@ fn endpoint_next_crate(
149149
data: Arc<Data>,
150150
_auth: AuthDetails,
151151
) -> Fallible<Response<Body>> {
152-
let result = if let Some(ex) = Experiment::get(&data.db, &experiment)? {
153-
let mut crates = ex.get_uncompleted_crates(&data.db, Some(1))?;
154-
if crates.is_empty() {
155-
None
152+
let result: Option<crate::crates::Crate> =
153+
if let Some(ex) = Experiment::get(&data.db, &experiment)? {
154+
let mut crates = ex.get_uncompleted_crates(&data.db, Some(1))?;
155+
if crates.is_empty() {
156+
None
157+
} else {
158+
Some(crates.remove(0))
159+
}
156160
} else {
157-
Some(crates.remove(0))
158-
}
159-
} else {
160-
None
161-
};
161+
None
162+
};
162163

163164
Ok(ApiResponse::Success { result }.into_response()?)
164165
}

0 commit comments

Comments
 (0)