mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-14 02:37:55 +02:00
Synchro nocturne : extraction Qlik branchée, fraîcheur du préchauffage lue en ISO
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LG2LLJuswrrTTPKJmunEVf
This commit is contained in:
2 files changed
+17
-1
No files matched your search
@@ -79,7 +79,13 @@ async fn run_warmup(stale_hours: f64) {
|
||||
let fresh_limit = chrono::Utc::now().naive_utc() - chrono::Duration::milliseconds((stale_hours * 3_600_000.0) as i64);
|
||||
let fresh: HashSet<String> = existing
|
||||
.iter()
|
||||
.filter(|s| s.computed_at_naive().map(|d| d > fresh_limit).unwrap_or(false))
|
||||
.filter(|s| {
|
||||
s.computed_at
|
||||
.as_deref()
|
||||
.and_then(|c| chrono::DateTime::parse_from_rfc3339(c).ok())
|
||||
.map(|d| d.naive_utc() > fresh_limit)
|
||||
.unwrap_or(false)
|
||||
})
|
||||
.map(|s| s.code_fournisseur.clone())
|
||||
.collect();
|
||||
maj(|j| j.total = fournisseurs.len());
|
||||
|
||||
@@ -25,3 +25,13 @@ pub fn reset_ff_api_base() {
|
||||
pub async fn diagnostiquer_api_ff(base: Option<String>) -> Value {
|
||||
serde_json::to_value(crate::ff::diagnostic::diagnostiquer_api_ff(base).await).unwrap_or(Value::Null)
|
||||
}
|
||||
|
||||
/// Extraction Qlik d'un fournisseur sur la fenêtre de la synchro (`QLIK_SYNC_MONTHS_BACK`),
|
||||
/// puis enregistrement dans le cache réseau. Renvoie le nombre de codes enregistrés.
|
||||
pub async fn extraire_et_enregistrer(codes: Vec<String>, fournisseur: &str) -> anyhow::Result<usize> {
|
||||
use crate::qlik::date_range::{build_grid_network_qlik_date_filter_now, env_months_back, QLIK_MONTHS_BACK_DEFAULT};
|
||||
let filtre = build_grid_network_qlik_date_filter_now(env_months_back("QLIK_SYNC_MONTHS_BACK", QLIK_MONTHS_BACK_DEFAULT));
|
||||
let metrics = crate::qlik::fetch_network_metrics_playwright(Some(codes), None, Some(filtre), Some(fournisseur.to_string())).await?;
|
||||
let liste: Vec<_> = metrics.into_values().collect();
|
||||
crate::qlik::upsert_network_metrics(&liste).await
|
||||
}
|
||||
Reference in new issue
Block a user