Fetch community outbox and moderators in parallel (#3360)
This will speedup first time fetching of a remote community
This commit is contained in:
parent
8fbc630ce1
commit
50efb1d519
1 changed files with 8 additions and 11 deletions
|
@ -140,19 +140,16 @@ impl Object for ApubCommunity {
|
|||
|
||||
// Fetching mods and outbox is not necessary for Lemmy to work, so ignore errors. Besides,
|
||||
// we need to ignore these errors so that tests can work entirely offline.
|
||||
group
|
||||
.outbox
|
||||
.dereference(&community, context)
|
||||
.await
|
||||
.map_err(|e| debug!("{}", e))
|
||||
.ok();
|
||||
let fetch_outbox = group.outbox.dereference(&community, context);
|
||||
|
||||
if let Some(moderators) = group.attributed_to {
|
||||
moderators
|
||||
.dereference(&community, context)
|
||||
.await
|
||||
.map_err(|e| debug!("{}", e))
|
||||
.ok();
|
||||
let fetch_moderators = moderators.dereference(&community, context);
|
||||
// Fetch mods and outbox in parallel
|
||||
let res = tokio::join!(fetch_outbox, fetch_moderators);
|
||||
res.0.map_err(|e| debug!("{}", e)).ok();
|
||||
res.1.map_err(|e| debug!("{}", e)).ok();
|
||||
} else {
|
||||
fetch_outbox.await.map_err(|e| debug!("{}", e)).ok();
|
||||
}
|
||||
|
||||
Ok(community)
|
||||
|
|
Loading…
Reference in a new issue