Tweaks and fixes to background tasks (#4447)

* adjustments

* chore: query cache, clippy, fmt
This commit is contained in:
François-Xavier Talbot
2025-09-30 12:43:59 +01:00
committed by GitHub
parent 53c9699b46
commit 54747aa628
13 changed files with 59 additions and 42 deletions

View File

@@ -260,13 +260,15 @@ impl DBCharge {
let charge_type = ChargeType::Subscription.as_str();
let res = select_charges_with_predicate!(
r#"
INNER JOIN users_subscriptions us ON us.id = charges.subscription_id
WHERE
charge_type = $1 AND
charges.charge_type = $1 AND
(
(status = 'cancelled' AND due < NOW()) OR
(status = 'expiring' AND due < NOW()) OR
(status = 'failed' AND last_attempt < NOW() - INTERVAL '2 days')
(charges.status = 'cancelled' AND charges.due < NOW()) OR
(charges.status = 'expiring' AND charges.due < NOW()) OR
(charges.status = 'failed' AND charges.last_attempt < NOW() - INTERVAL '2 days')
)
AND us.status = 'provisioned'
"#,
charge_type
)
@@ -321,6 +323,7 @@ impl DBCharge {
AND COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) < NOW() - INTERVAL '1 day'
AND u.email IS NOT NULL
AND due - INTERVAL '7 days' > NOW()
AND due - INTERVAL '14 days' < NOW() -- Due between 7 and 14 days from now
ORDER BY COALESCE(tax_last_updated, '-infinity' :: TIMESTAMPTZ) ASC
FOR NO KEY UPDATE SKIP LOCKED
LIMIT $1