even when not downloading, update the database
This commit is contained in:
14
src/main.rs
14
src/main.rs
@@ -183,7 +183,7 @@ async fn process_single_thread(
|
|||||||
#[instrument(skip(db, reqwest))]
|
#[instrument(skip(db, reqwest))]
|
||||||
/// Downloads and crawls and stores a webpage.
|
/// Downloads and crawls and stores a webpage.
|
||||||
/// It is acceptable to clone `db`, `reqwest`, and `s3` because they all use `Arc`s internally. - Noted by Oliver
|
/// It is acceptable to clone `db`, `reqwest`, and `s3` because they all use `Arc`s internally. - Noted by Oliver
|
||||||
async fn process(mut site: Website, db: Surreal<Client>, reqwest: reqwest::Client) {
|
async fn process(site: Website, db: Surreal<Client>, reqwest: reqwest::Client) {
|
||||||
// METRICS
|
// METRICS
|
||||||
debug!(url = &site.site.as_str(), "Process: {}", &site.site);
|
debug!(url = &site.site.as_str(), "Process: {}", &site.site);
|
||||||
BEING_PROCESSED.add(1, &[]);
|
BEING_PROCESSED.add(1, &[]);
|
||||||
@@ -251,9 +251,16 @@ async fn process(mut site: Website, db: Surreal<Client>, reqwest: reqwest::Clien
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let update_in_db = async |mut site: Website| {
|
||||||
|
// update self in db
|
||||||
|
site.crawled = true;
|
||||||
|
site.status_code = code.as_u16();
|
||||||
|
Website::store_all(vec![site.clone()], &db).await;
|
||||||
|
};
|
||||||
|
|
||||||
if skip_download {
|
if skip_download {
|
||||||
trace!("Skipping download...");
|
trace!("Skipping download...");
|
||||||
|
update_in_db(site).await;
|
||||||
} else {
|
} else {
|
||||||
// make sure that the file is good to go
|
// make sure that the file is good to go
|
||||||
if let Some(file) = filesystem::init(&tmp_path).await {
|
if let Some(file) = filesystem::init(&tmp_path).await {
|
||||||
@@ -326,11 +333,10 @@ async fn process(mut site: Website, db: Surreal<Client>, reqwest: reqwest::Clien
|
|||||||
}
|
}
|
||||||
|
|
||||||
// update self in db
|
// update self in db
|
||||||
site.crawled = true;
|
update_in_db(site).await;
|
||||||
site.status_code = code.as_u16();
|
|
||||||
Website::store_all(vec![site.clone()], &db).await;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
error!(url = site.site.as_str(), "Failed to get: {}", &site.site);
|
error!(url = site.site.as_str(), "Failed to get: {}", &site.site);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user