Skip to content

Commit 8ff0df6

Browse files
committed
Remove cutoff dates and instead enable enabling the job queue insertion with an environment variable
1 parent b1def84 commit 8ff0df6

File tree

1 file changed

+44
-40
lines changed

1 file changed

+44
-40
lines changed

site/src/job_queue/mod.rs

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ pub fn is_job_queue_enabled() -> bool {
2121
.unwrap_or(true)
2222
}
2323

24+
/// Should master and release artifacts be automatically inserted into the job queue?
25+
pub fn is_job_queue_insertion_enabled() -> bool {
26+
std::env::var("INSERT_REQUESTS_INTO_JOB_QUEUE")
27+
.ok()
28+
.and_then(|x| x.parse().ok())
29+
.unwrap_or(false)
30+
}
31+
2432
/// rust-lang/rust PR that will be used for testing the job queue.
2533
const TEST_PR_FOR_JOB_QUEUE: u32 = 147039;
2634

@@ -33,7 +41,7 @@ pub fn should_use_job_queue(pr: u32) -> bool {
3341
/// Returns `true` if at least one benchmark request was inserted.
3442
async fn create_benchmark_request_master_commits(
3543
ctxt: &SiteCtxt,
36-
_conn: &dyn database::pool::Connection,
44+
conn: &dyn database::pool::Connection,
3745
index: &BenchmarkRequestIndex,
3846
) -> anyhow::Result<bool> {
3947
let now = Utc::now();
@@ -45,29 +53,23 @@ async fn create_benchmark_request_master_commits(
4553
.iter()
4654
.filter(|c| now.signed_duration_since(c.time) < chrono::Duration::days(29));
4755

48-
// TODO; delete at some point in the future
49-
let cutoff: chrono::DateTime<Utc> = chrono::DateTime::from_str("2025-08-27T00:00:00.000Z")?;
50-
51-
let inserted = false;
56+
let mut inserted = false;
5257
for master_commit in master_commits {
53-
// We don't want to add masses of obsolete data
54-
if master_commit.time >= cutoff && !index.contains_tag(&master_commit.sha) {
55-
// let pr = master_commit.pr.unwrap_or(0);
56-
// let benchmark = BenchmarkRequest::create_master(
57-
// &master_commit.sha,
58-
// &master_commit.parent_sha,
59-
// pr,
60-
// master_commit.time,
61-
// );
62-
// log::info!("Inserting master benchmark request {benchmark:?}");
63-
64-
// Do not create benchmark requests on production, to allow running in parallel with
65-
// the old system.
66-
// if let Err(error) = conn.insert_benchmark_request(&benchmark).await {
67-
// log::error!("Failed to insert master benchmark request: {error:?}");
68-
// } else {
69-
// inserted = true;
70-
// }
58+
if !index.contains_tag(&master_commit.sha) {
59+
let pr = master_commit.pr.unwrap_or(0);
60+
let benchmark = BenchmarkRequest::create_master(
61+
&master_commit.sha,
62+
&master_commit.parent_sha,
63+
pr,
64+
master_commit.time,
65+
);
66+
log::info!("Inserting master benchmark request {benchmark:?}");
67+
68+
if let Err(error) = conn.insert_benchmark_request(&benchmark).await {
69+
log::error!("Failed to insert master benchmark request: {error:?}");
70+
} else {
71+
inserted = true;
72+
}
7173
}
7274
}
7375
Ok(inserted)
@@ -77,35 +79,31 @@ async fn create_benchmark_request_master_commits(
7779
/// already in the database
7880
/// Returns `true` if at least one benchmark request was inserted.
7981
async fn create_benchmark_request_releases(
80-
_conn: &dyn database::pool::Connection,
82+
conn: &dyn database::pool::Connection,
8183
index: &BenchmarkRequestIndex,
8284
) -> anyhow::Result<bool> {
8385
let releases: String = reqwest::get("https://static.rust-lang.org/manifests.txt")
8486
.await?
8587
.text()
8688
.await?;
87-
// TODO; delete at some point in the future
88-
let cutoff: chrono::DateTime<Utc> = chrono::DateTime::from_str("2025-08-27T00:00:00.000Z")?;
8989

9090
let releases = releases
9191
.lines()
9292
.rev()
9393
.filter_map(parse_release_string)
9494
.take(20);
9595

96-
let inserted = false;
96+
let mut inserted = false;
9797
for (name, commit_date) in releases {
98-
if commit_date >= cutoff && !index.contains_tag(&name) {
99-
// let release_request = BenchmarkRequest::create_release(&name, commit_date);
100-
// log::info!("Inserting release benchmark request {release_request:?}");
101-
102-
// Do not create benchmark requests on production, to allow running in parallel with
103-
// the old system.
104-
// if let Err(error) = conn.insert_benchmark_request(&release_request).await {
105-
// log::error!("Failed to insert release benchmark request: {error}");
106-
// } else {
107-
// inserted = true;
108-
// }
98+
if !index.contains_tag(&name) {
99+
let release_request = BenchmarkRequest::create_release(&name, commit_date);
100+
log::info!("Inserting release benchmark request {release_request:?}");
101+
102+
if let Err(error) = conn.insert_benchmark_request(&release_request).await {
103+
log::error!("Failed to insert release benchmark request: {error}");
104+
} else {
105+
inserted = true;
106+
}
109107
}
110108
}
111109
Ok(inserted)
@@ -388,11 +386,17 @@ async fn perform_queue_tick(ctxt: &SiteCtxt) -> anyhow::Result<()> {
388386

389387
let index = ctxt.known_benchmark_requests.load();
390388

389+
let insertion_enabled = is_job_queue_insertion_enabled();
390+
391391
let mut requests_inserted = false;
392392
// Put the master commits into the `benchmark_requests` queue
393-
requests_inserted |= create_benchmark_request_master_commits(ctxt, &*conn, &index).await?;
393+
if insertion_enabled {
394+
requests_inserted |= create_benchmark_request_master_commits(ctxt, &*conn, &index).await?;
395+
}
394396
// Put the releases into the `benchmark_requests` queue
395-
requests_inserted |= create_benchmark_request_releases(&*conn, &index).await?;
397+
if insertion_enabled {
398+
requests_inserted |= create_benchmark_request_releases(&*conn, &index).await?;
399+
}
396400
// Enqueue waiting requests and try to complete in-progress ones
397401
let completed_reqs = process_benchmark_requests(&mut *conn).await?;
398402

0 commit comments

Comments
 (0)