From 31417a2aa1c319fe731b153049942ceff440c2bf Mon Sep 17 00:00:00 2001 From: aecsocket Date: Sun, 23 Nov 2025 20:48:15 +0000 Subject: [PATCH] more logging on sync payouts task (#4814) --- apps/labrinth/src/queue/payouts/mural.rs | 39 ++++++++++++++++-------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/apps/labrinth/src/queue/payouts/mural.rs b/apps/labrinth/src/queue/payouts/mural.rs index 6d1cb3da..56552aa7 100644 --- a/apps/labrinth/src/queue/payouts/mural.rs +++ b/apps/labrinth/src/queue/payouts/mural.rs @@ -6,7 +6,7 @@ use muralpay::{MuralError, MuralPay, TokenFeeRequest}; use rust_decimal::{Decimal, prelude::ToPrimitive}; use serde::{Deserialize, Serialize}; use sqlx::PgPool; -use tracing::{info, warn}; +use tracing::{info, trace, warn}; use crate::{ database::models::DBPayoutId, @@ -399,13 +399,22 @@ pub async fn sync_failed_mural_payouts_to_labrinth( break; } + let num_canceled = search_resp + .results + .iter() + .filter(|p| p.status == muralpay::PayoutStatus::Canceled) + .count(); + let num_failed = search_resp + .results + .iter() + .filter(|p| p.status == muralpay::PayoutStatus::Failed) + .count(); info!( - "Found {} canceled or failed Mural payouts", - search_resp.results.len() + "Found {num_canceled} canceled and {num_failed} failed Mural payouts" ); - let mut payout_platform_id = Vec::::new(); - let mut payout_new_status = Vec::::new(); + let mut payout_platform_ids = Vec::::new(); + let mut payout_new_statuses = Vec::::new(); for payout_req in search_resp.results { let new_payout_status = match payout_req.status { @@ -419,12 +428,17 @@ pub async fn sync_failed_mural_payouts_to_labrinth( continue; } }; + let payout_platform_id = payout_req.id; - payout_platform_id.push(payout_req.id.to_string()); - payout_new_status.push(new_payout_status.to_string()); + trace!( + "- Payout {payout_platform_id} set to {new_payout_status:?}", + ); + + payout_platform_ids.push(payout_platform_id.to_string()); + payout_new_statuses.push(new_payout_status.to_string()); } - sqlx::query!( + let result = sqlx::query!( " UPDATE payouts SET status = u.status @@ -433,8 +447,8 @@ pub async fn sync_failed_mural_payouts_to_labrinth( payouts.method = $3 AND payouts.platform_id = u.platform_id ", - &payout_platform_id, - &payout_new_status, + &payout_platform_ids, + &payout_new_statuses, PayoutMethodType::MuralPay.as_str(), ) .execute(db) @@ -442,8 +456,9 @@ pub async fn sync_failed_mural_payouts_to_labrinth( .wrap_internal_err("failed to update payout statuses")?; info!( - "Updated {} payouts in database from Mural info", - payout_platform_id.len() + "Attempted to update {} payouts in database from Mural info, {} rows affected", + payout_platform_ids.len(), + result.rows_affected() ); if next_id.is_none() {