huskies: merge 1098 bug Shadow drift: set_retry_count / bump_retry_count write CRDT register without updating pipeline_items.retry_count
This commit is contained in:
@@ -564,6 +564,24 @@ pub fn set_retry_count(story_id: &str, count: i64) {
|
||||
_ => return,
|
||||
};
|
||||
write_item(story_id, &new_stage, None, None, None, None);
|
||||
if let Some(db) = crate::db::shadow_write::PIPELINE_DB.get() {
|
||||
let stage = stage_dir_name(&new_stage).to_string();
|
||||
let name = Some(item.name().to_string());
|
||||
let agent = item.agent().map(|a| a.to_string());
|
||||
let depends_on = (!item.depends_on().is_empty())
|
||||
.then(|| serde_json::to_string(item.depends_on()).ok())
|
||||
.flatten();
|
||||
let msg = crate::db::shadow_write::PipelineWriteMsg {
|
||||
story_id: story_id.to_string(),
|
||||
stage,
|
||||
name,
|
||||
agent,
|
||||
retry_count: Some(count.max(0)),
|
||||
depends_on,
|
||||
content: None,
|
||||
};
|
||||
let _ = db.tx.send(msg);
|
||||
}
|
||||
}
|
||||
|
||||
/// Increment `retries` by 1 and return the new value.
|
||||
@@ -613,5 +631,23 @@ pub fn bump_retry_count(story_id: &str) -> i64 {
|
||||
_ => return 0,
|
||||
};
|
||||
write_item(story_id, &new_stage, None, None, None, None);
|
||||
if let Some(db) = crate::db::shadow_write::PIPELINE_DB.get() {
|
||||
let stage = stage_dir_name(&new_stage).to_string();
|
||||
let name = Some(item.name().to_string());
|
||||
let agent = item.agent().map(|a| a.to_string());
|
||||
let depends_on = (!item.depends_on().is_empty())
|
||||
.then(|| serde_json::to_string(item.depends_on()).ok())
|
||||
.flatten();
|
||||
let msg = crate::db::shadow_write::PipelineWriteMsg {
|
||||
story_id: story_id.to_string(),
|
||||
stage,
|
||||
name,
|
||||
agent,
|
||||
retry_count: Some(new_retries as i64),
|
||||
depends_on,
|
||||
content: None,
|
||||
};
|
||||
let _ = db.tx.send(msg);
|
||||
}
|
||||
new_retries as i64
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user