トリガーされたカスタムバッジのクエリについて助けが必要です

皆さん、こんにちは。

SQLクエリで行き詰まっています。私の目標/期待は、ユーザーが特定のトピックに返信したときに、すぐに特定のカスタムバッジを付与することです。問題は、日次の「バックフィル」ジョブは成功するものの、より即時の効果が機能していないため、途中で止まっていることです。

私たちのフォーラムでは、このバッジを利用して(オートメーションプラグインの助けを借りて)他のカテゴリへのアクセスを提供しているため、終業時/バックフィル時の遅延は新規ユーザーにとって非常に混乱を招き、参加時の勢いや熱意を確実に削いでしまいます。

しばらくこの問題を無視していましたが、もう限界なので助けを求めることにしました。

クエリは、素晴らしい投稿 Creating triggered custom badge queries から流用したもので、ほとんどの人には見慣れたものだと思います。

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) )

または、以下も試しました。

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) )

どちらも終業時のバックフィルでは機能しますが、期待している即時性がありません。

現在のバッジの設定をスクリーンショットに示します。

エラーログを確認すると、クエリを最初に実装したときのバックフィル失敗のログがいくつかありますが、ユーザーが投稿したときにクエリが失敗したことに関するログは見当たりません。

おそらく単純なことを見落としているだけだと思いますが、もう目がかすむほど凝視してしまったので、誰かが私に同情してヒントをくれるか、少なくとも役立つドキュメントを教えてくれることを願っています。

よろしくお願いします!

「いいね!」 1

まだテストしていませんが、トリガーは**「ユーザーが投稿を編集または作成したとき」**である可能性がありますか?

現在設定されているものは、投稿の作成時ではなく、いいね、フラグ、ブックマークなどで発火すると思います。

「いいね!」 2

oooohhhh。それらの設定のすべての組み合わせを試したと思ったのですが、テストしてみたらまさにそれでした!解決してくれました!

何ヶ月も文字通りのダチョウのように砂の中に頭を突っ込んでいましたが、とても簡単な修正でした!

なんて素晴らしい経験でしょう。

@chapoiさん、ありがとう

___\_

後世のために…これが修正でした。

「いいね!」 1

へへ、どういたしまして!