여러분 안녕하세요,
SQL 쿼리에 막혀 있습니다. 제 목표/기대치는 사용자가 특정 주제에 답글을 달면 즉시 특정 커스텀 배지가 발급되도록 하는 것입니다. 문제는 일일 “백필(Backfill)” 작업은 성공하지만, 즉각적인 효과는 확실히 작동하지 않는다는 점입니다.
저희 포럼은 배지를 사용하여 다른 카테고리에 대한 접근 권한을 부여합니다(자동화 플러그인의 도움으로). 따라서 하루 종일/백필 지연은 신규 사용자에게 꽤 혼란을 주며, 가입 시 일부 추진력과 열의를 확실히 떨어뜨립니다.
이 문제를 한동안 무시해 왔지만, 이제 더 이상 참을 수 없어 도움을 요청합니다.
기본적으로 트리거 기반 커스텀 배지 쿼리 생성이라는 훌륭한 게시글에서 쿼리를 가져왔기 때문에 대부분의 분들에게 꽤 익숙해 보일 것입니다.
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) )
두 쿼리 모두 EOD(일일) 백필에서는 작동하지만, 제가 기대하는 즉각성이 부족합니다.
현재 배지에 설정된 설정의 스크린샷입니다.
에러 로그를 확인하면 쿼리를 처음 구현했을 때의 백필 실패 로그가 보이지만, 사용자가 게시물을 작성할 때 쿼리가 실패했다는 로그는 보이지 않습니다.
아마도 제가 뻔한 것을 놓치고 있는 것 같지만, 이 시점에서는 눈이 빠질 것 같게까지 들여다보았으니 여러분 중 한 분께서 저를 불쌍히 여겨 몇 가지 힌트를 주시거나… 아니면 도움이 되는 문서를 알려주셨으면 좋겠습니다.
미리 감사합니다!

