@@ -13,7 +13,8 @@ And for each repository, it fetches:
1313## Usage
1414
1515``` rust
16- use cvmfs_server_scraper :: {Hostname , Server , ServerBackendType , ServerType , scrape_servers};
16+ use cvmfs_server_scraper :: {Hostname , Server , ServerBackendType , ServerType , scrape_servers, ScrapedServer };
17+ use futures :: future :: join_all;
1718
1819#[tokio:: main]
1920async fn main () {
@@ -25,7 +26,7 @@ async fn main() {
2526 ),
2627 Server :: new (
2728 ServerType :: Stratum1 ,
28- ServerBackendType :: CVMFS ,
29+ ServerBackendType :: AutoDetect ,
2930 Hostname (" aws-eu-central-s1.eessi.science" . to_string ()),
3031 ),
3132 Server :: new (
@@ -34,22 +35,20 @@ async fn main() {
3435 Hostname (" aws-eu-west-s1-sync.eessi.science" . to_string ()),
3536 ),
3637 ];
37-
3838 let repolist = vec! [" software.eessi.io" , " dev.eessi.io" , " riscv.eessi.io" ];
39-
40- let results = scrape_servers (servers , repolist ). await ;
41-
42- for result in results {
43- match result {
44- Ok (populated_server ) => {
39+ // Scrape all servers in parallel
40+ let servers = scrape_servers (servers , repolist ). await ;
41+ for server in servers {
42+ match server {
43+ ScrapedServer :: Populated (populated_server ) => {
4544 println! (" {}" , populated_server );
4645 populated_server . display ();
4746 println! ();
48- }
49- Err ( e ) => {
50- eprintln ! (" Error: {:?}" , e );
51- }
52- }
47+ }
48+ ScrapedServer :: Failed ( failed_server ) => {
49+ panic ! (" Error! {} failed scraping : {:?}" , failed_server . hostname, failed_server . error );
50+ }
51+ }
5352 }
5453}
5554```
0 commit comments