You've already forked AstralRinth
forked from didirus/AstralRinth
Add logging and change limit of Mural payouts task (#4798)
This commit is contained in:
@@ -197,7 +197,8 @@ pub async fn payouts(
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub async fn sync_payout_statuses(pool: sqlx::Pool<Postgres>, mural: MuralPay) {
|
pub async fn sync_payout_statuses(pool: sqlx::Pool<Postgres>, mural: MuralPay) {
|
||||||
const LIMIT: u32 = 1000;
|
// Mural sets a max limit of 100 for search payouts endpoint
|
||||||
|
const LIMIT: u32 = 100;
|
||||||
|
|
||||||
info!("Started syncing payout statuses");
|
info!("Started syncing payout statuses");
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use queue::{
|
|||||||
session::AuthQueue, socket::ActiveSockets,
|
session::AuthQueue, socket::ActiveSockets,
|
||||||
};
|
};
|
||||||
use sqlx::Postgres;
|
use sqlx::Postgres;
|
||||||
use tracing::{info, warn};
|
use tracing::{debug, info, warn};
|
||||||
|
|
||||||
extern crate clickhouse as clickhouse_crate;
|
extern crate clickhouse as clickhouse_crate;
|
||||||
use clickhouse_crate::Client;
|
use clickhouse_crate::Client;
|
||||||
@@ -240,14 +240,14 @@ pub fn app_setup(
|
|||||||
let redis_ref = redis_ref.clone();
|
let redis_ref = redis_ref.clone();
|
||||||
|
|
||||||
async move {
|
async move {
|
||||||
info!("Indexing analytics queue");
|
debug!("Indexing analytics queue");
|
||||||
let result = analytics_queue_ref
|
let result = analytics_queue_ref
|
||||||
.index(client_ref, &redis_ref, &pool_ref)
|
.index(client_ref, &redis_ref, &pool_ref)
|
||||||
.await;
|
.await;
|
||||||
if let Err(e) = result {
|
if let Err(e) = result {
|
||||||
warn!("Indexing analytics queue failed: {:?}", e);
|
warn!("Indexing analytics queue failed: {:?}", e);
|
||||||
}
|
}
|
||||||
info!("Done indexing analytics queue");
|
debug!("Done indexing analytics queue");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use muralpay::{MuralError, MuralPay, TokenFeeRequest};
|
|||||||
use rust_decimal::{Decimal, prelude::ToPrimitive};
|
use rust_decimal::{Decimal, prelude::ToPrimitive};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use sqlx::PgPool;
|
use sqlx::PgPool;
|
||||||
use tracing::warn;
|
use tracing::{info, warn};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
database::models::DBPayoutId,
|
database::models::DBPayoutId,
|
||||||
@@ -271,6 +271,8 @@ pub async fn sync_pending_payouts_from_mural(
|
|||||||
status: PayoutStatus,
|
status: PayoutStatus,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info!("Syncing pending payouts from Mural");
|
||||||
|
|
||||||
let mut txn = db
|
let mut txn = db
|
||||||
.begin()
|
.begin()
|
||||||
.await
|
.await
|
||||||
@@ -299,6 +301,8 @@ pub async fn sync_pending_payouts_from_mural(
|
|||||||
.await
|
.await
|
||||||
.wrap_internal_err("failed to fetch incomplete Mural payouts")?;
|
.wrap_internal_err("failed to fetch incomplete Mural payouts")?;
|
||||||
|
|
||||||
|
info!("Found {} incomplete Mural payouts", rows.len());
|
||||||
|
|
||||||
let futs = rows.into_iter().map(|row| async move {
|
let futs = rows.into_iter().map(|row| async move {
|
||||||
let platform_id = row.platform_id.wrap_err("no platform ID")?;
|
let platform_id = row.platform_id.wrap_err("no platform ID")?;
|
||||||
let payout_request_id = platform_id.parse::<muralpay::PayoutRequestId>()
|
let payout_request_id = platform_id.parse::<muralpay::PayoutRequestId>()
|
||||||
@@ -369,6 +373,8 @@ pub async fn sync_failed_mural_payouts_to_labrinth(
|
|||||||
mural: &MuralPay,
|
mural: &MuralPay,
|
||||||
limit: u32,
|
limit: u32,
|
||||||
) -> eyre::Result<()> {
|
) -> eyre::Result<()> {
|
||||||
|
info!("Syncing failed Mural payouts to Labrinth");
|
||||||
|
|
||||||
let mut next_id = None;
|
let mut next_id = None;
|
||||||
loop {
|
loop {
|
||||||
let search_resp = mural
|
let search_resp = mural
|
||||||
@@ -393,6 +399,11 @@ pub async fn sync_failed_mural_payouts_to_labrinth(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info!(
|
||||||
|
"Found {} canceled or failed Mural payouts",
|
||||||
|
search_resp.results.len()
|
||||||
|
);
|
||||||
|
|
||||||
let mut payout_platform_id = Vec::<String>::new();
|
let mut payout_platform_id = Vec::<String>::new();
|
||||||
let mut payout_new_status = Vec::<String>::new();
|
let mut payout_new_status = Vec::<String>::new();
|
||||||
|
|
||||||
@@ -430,6 +441,11 @@ pub async fn sync_failed_mural_payouts_to_labrinth(
|
|||||||
.await
|
.await
|
||||||
.wrap_internal_err("failed to update payout statuses")?;
|
.wrap_internal_err("failed to update payout statuses")?;
|
||||||
|
|
||||||
|
info!(
|
||||||
|
"Updated {} payouts in database from Mural info",
|
||||||
|
payout_platform_id.len()
|
||||||
|
);
|
||||||
|
|
||||||
if next_id.is_none() {
|
if next_id.is_none() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user