@@ -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