昨日、私のサイトが突然、過去の投稿に対して通知を生成し始めました。これが過去数日間に作成された「投稿済み」通知(notification_type = 9)で、作成時刻が1時間以上前であるものの数です:
この表を生成するために使用したクエリ
WITH pre AS (
SELECT
p.id as post_id,
to_char(n.created_at,
'YYYY-MM-DD') AS notified_day,
p.topic_id,
round(least(EXTRACT(EPOCH FROM n.created_at - p.created_at)::numeric, EXTRACT(EPOCH FROM n.created_at - p.updated_at)::numeric) / 3600) AS hours_diff,
p.created_at,
p.updated_at,
n.created_at,
u.username
FROM
notifications n
LEFT JOIN posts p ON p.post_number = n.post_number
AND p.topic_id = n.topic_id
left join users u on u.id = n.user_id
WHERE
round(least(EXTRACT(EPOCH FROM n.created_at - p.created_at)::numeric, EXTRACT(EPOCH FROM n.created_at - p.updated_at)::numeric) / 3600) > 0
AND n.notification_type = 9
ORDER BY
n.created_at DESC
LIMIT 400
)
SELECT
count(*),
notified_day
FROM
pre
GROUP BY
notified_day
ORDER BY
notified_day DESC
以下はいくつかの例です(上記のクエリで CTE を実行して取得):
最初のハイライトされた行は12月8日に作成されましたが、そのカテゴリを監視しているユーザーは12月25日に通知を受け取りました(他のユーザーの話によれば、すでに閲覧済みの投稿についても通知されているそうです)。
2番目のハイライトされた行は9月29日に作成され、翌日に修正され、12月25日に通知されました。
私はコンテナを再構築したため、Discourse の最新バージョンを実行しています。現時点ではメール通知を無効にしています。
この問題をトラブルシューティングする方法についてご存知でしょうか?何らかの理由でキューが詰まっているか、それに類する問題だと推測しています。これらの通知を生成している原因を特定する方法はありますか?


