Ciao a tutti,
Sono bloccato sulla mia query SQL. Il mio obiettivo/aspettativa è che dovrebbe assegnare un badge personalizzato specifico immediatamente quando un utente risponde a un particolare argomento. Il fatto è che sono a metà strada perché il lavoro giornaliero di “Backfill” ha successo, anche se l’effetto più immediato non funziona chiaramente.
Il nostro forum sfrutta il badge per fornire accesso ad altre categorie (con un po’ di aiuto dal plugin di automazione), quindi il ritardo di fine giornata/backfill è piuttosto disorientante per i nuovi utenti e sicuramente uccide un po’ di slancio ed entusiasmo al momento dell’iscrizione.
Ho ignorato il problema per un po’, ma sono pronto a crollare e chiedere aiuto.
In sostanza, ho preso la query dall’eccellente post Creating triggered custom badge queries, quindi probabilmente sembrerà piuttosto familiare alla maggior parte delle persone.
SELECT p.user_id, p.id post_id, p.created_at granted_at
FROM badge_posts p
WHERE p.topic_id = 11558
AND (:backfill OR p.id IN (:post_ids) )
oppure ho anche provato
SELECT
DISTINCT ON (p.user_id)p.user_id, p.id post_id, p.created_at granted_at
FROM badge_posts p
WHERE p.topic_id = 11558
AND(:backfill OR p.id IN (:post_ids) )
Entrambi funzionano per il backfill di fine giornata, ma mancano della prontezza che mi aspetto.
Ecco uno screenshot delle impostazioni così come sono attualmente impostate sul badge.
Quando controllo i log degli errori, vedo alcuni log di fallimento del Backfill di quando ho implementato la query per la prima volta, ma non vedo alcun log relativo al fallimento della query quando un utente pubblica.
Probabilmente mi sto perdendo qualcosa di ovvio, ma mi sono strizzato gli occhi fino a diventare cieco a questo punto, quindi spero che qualcuno di voi abbia pietà di me e mi dia qualche dritta… o almeno mi indichi della documentazione utile.
Grazie in anticipo!

