Skip to content

Commit 777fa2c

Browse files
committed
try fixign
1 parent 9ac8df4 commit 777fa2c

File tree

1 file changed

+90
-87
lines changed

1 file changed

+90
-87
lines changed

src/build_queue.rs

Lines changed: 90 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -326,116 +326,119 @@ impl BuildQueue {
326326

327327
let (changes, new_reference) = diff.peek_changes_ordered()?;
328328

329-
let crates_added = self.runtime.block_on(async {
330-
let mut conn = self.db.get_async().await?;
331-
let mut crates_added = 0;
332-
333-
debug!("queueing changes from {last_seen_reference} to {new_reference}");
334-
335-
for change in &changes {
336-
if let Some((ref krate, ..)) = change.crate_deleted() {
337-
match delete_crate(&mut conn, &self.storage, &self.config, krate)
338-
.await
339-
.with_context(|| format!("failed to delete crate {krate}"))
340-
{
341-
Ok(_) => info!(
342-
"crate {} was deleted from the index and the database",
343-
krate
344-
),
345-
Err(err) => report_error(&err),
346-
}
347-
if let Err(err) =
348-
cdn::queue_crate_invalidation(&mut conn, &self.config, krate).await
349-
{
350-
report_error(&err);
351-
}
352-
continue;
329+
let mut conn = self.runtime.block_on(self.db.get_async())?;
330+
let mut crates_added = 0;
331+
332+
debug!("queueing changes from {last_seen_reference} to {new_reference}");
333+
334+
for change in &changes {
335+
if let Some((ref krate, ..)) = change.crate_deleted() {
336+
match self
337+
.runtime
338+
.block_on(delete_crate(&mut conn, &self.storage, &self.config, krate))
339+
.with_context(|| format!("failed to delete crate {krate}"))
340+
{
341+
Ok(_) => info!(
342+
"crate {} was deleted from the index and the database",
343+
krate
344+
),
345+
Err(err) => report_error(&err),
353346
}
347+
if let Err(err) = self.runtime.block_on(cdn::queue_crate_invalidation(
348+
&mut conn,
349+
&self.config,
350+
krate,
351+
)) {
352+
report_error(&err);
353+
}
354+
continue;
355+
}
354356

355-
if let Some(release) = change.version_deleted() {
356-
match delete_version(
357+
if let Some(release) = change.version_deleted() {
358+
match self
359+
.runtime
360+
.block_on(delete_version(
357361
&mut conn,
358362
&self.storage,
359363
&self.config,
360364
&release.name,
361365
&release.version,
362-
)
363-
.await
366+
))
364367
.with_context(|| {
365368
format!(
366369
"failed to delete version {}-{}",
367370
release.name, release.version
368371
)
369372
}) {
370-
Ok(_) => info!(
371-
"release {}-{} was deleted from the index and the database",
372-
release.name, release.version
373-
),
374-
Err(err) => report_error(&err),
375-
}
376-
if let Err(err) =
377-
cdn::queue_crate_invalidation(&mut conn, &self.config, &release.name).await
378-
{
379-
report_error(&err);
380-
}
381-
continue;
373+
Ok(_) => info!(
374+
"release {}-{} was deleted from the index and the database",
375+
release.name, release.version
376+
),
377+
Err(err) => report_error(&err),
382378
}
379+
if let Err(err) = self.runtime.block_on(cdn::queue_crate_invalidation(
380+
&mut conn,
381+
&self.config,
382+
&release.name,
383+
)) {
384+
report_error(&err);
385+
}
386+
continue;
387+
}
383388

384-
if let Some(release) = change.added() {
385-
let priority = get_crate_priority(&mut conn, &release.name).await?;
389+
if let Some(release) = change.added() {
390+
let priority = self
391+
.runtime
392+
.block_on(get_crate_priority(&mut conn, &release.name))?;
386393

387-
match self
388-
.add_crate(
389-
&release.name,
390-
&release.version,
391-
priority,
392-
index.repository_url(),
394+
match self
395+
.add_crate(
396+
&release.name,
397+
&release.version,
398+
priority,
399+
index.repository_url(),
400+
)
401+
.with_context(|| {
402+
format!(
403+
"failed adding {}-{} into build queue",
404+
release.name, release.version
393405
)
394-
.with_context(|| {
395-
format!(
396-
"failed adding {}-{} into build queue",
397-
release.name, release.version
398-
)
399-
}) {
400-
Ok(()) => {
401-
debug!(
402-
"{}-{} added into build queue",
403-
release.name, release.version
404-
);
405-
self.metrics.queued_builds.inc();
406-
crates_added += 1;
407-
}
408-
Err(err) => report_error(&err),
406+
}) {
407+
Ok(()) => {
408+
debug!(
409+
"{}-{} added into build queue",
410+
release.name, release.version
411+
);
412+
self.metrics.queued_builds.inc();
413+
crates_added += 1;
409414
}
415+
Err(err) => report_error(&err),
410416
}
417+
}
411418

412-
let yanked = change.yanked();
413-
let unyanked = change.unyanked();
414-
if let Some(release) = yanked.or(unyanked) {
415-
// FIXME: delay yanks of crates that have not yet finished building
416-
// https://github.com/rust-lang/docs.rs/issues/1934
417-
if let Err(err) = self
418-
.set_yanked_inner(
419-
&mut conn,
420-
release.name.as_str(),
421-
release.version.as_str(),
422-
yanked.is_some(),
423-
)
424-
.await
425-
{
426-
report_error(&err);
427-
}
419+
let yanked = change.yanked();
420+
let unyanked = change.unyanked();
421+
if let Some(release) = yanked.or(unyanked) {
422+
// FIXME: delay yanks of crates that have not yet finished building
423+
// https://github.com/rust-lang/docs.rs/issues/1934
424+
if let Err(err) = self.runtime.block_on(self.set_yanked_inner(
425+
&mut conn,
426+
release.name.as_str(),
427+
release.version.as_str(),
428+
yanked.is_some(),
429+
)) {
430+
report_error(&err);
431+
}
428432

429-
if let Err(err) =
430-
cdn::queue_crate_invalidation(&mut conn, &self.config, &release.name).await
431-
{
432-
report_error(&err);
433-
}
433+
if let Err(err) = self.runtime.block_on(cdn::queue_crate_invalidation(
434+
&mut conn,
435+
&self.config,
436+
&release.name,
437+
)) {
438+
report_error(&err);
434439
}
435440
}
436-
437-
Ok::<_, anyhow::Error>(crates_added)
438-
})?;
441+
}
439442

440443
// set the reference in the database
441444
// so this survives recreating the registry watcher

0 commit comments

Comments
 (0)