Significado e estatísticas de "limpar usuários inativos após dias"

Isto é descrito como:

Número de dias antes que um usuário inativo (nível de confiança 0 sem postagens) seja removido. Para desativar a limpeza, defina como 0.

Você pode confirmar que esses são os critérios (TL0 e 0 postagens)? Alguma conta leva em consideração quando eles fizeram login pela última vez e/ou leram uma postagem, ou o número de dias começa a partir do registro?

Existe uma consulta no Data Explorer para mostrar usuários TL0 que têm 0 postagens, juntamente com o número relevante de dias? Isso seria para dar uma ideia do efeito de escolher números específicos para esta configuração. Obrigado.

Existem alguns critérios adicionais: administradores e moderadores não são excluídos
Também são verificadas a data da última visualização e a data de registro.

Acho que algo assim retornaria o número de usuários que seriam excluídos

-- [params]
-- int :active_days_ago

SELECT COUNT(*)
FROM users
WHERE last_posted_at IS NULL
  AND trust_level = 0
  AND admin = false
  AND moderator = false
  AND created_at < CURRENT_DATE - :active_days_ago
  AND (last_seen_at < CURRENT_DATE - :active_days_ago OR last_seen_at IS NULL)
  AND NOT EXISTS (
    SELECT 1 FROM posts WHERE posts.user_id = users.id
  )
  AND NOT EXISTS (
    SELECT 1 FROM topics WHERE topics.user_id = users.id
  )

Para ver quais usuários seriam excluídos, isto deveria funcionar

-- [params]
-- int :active_days_ago

SELECT
    id as user_id,
    DATE_PART('day', CURRENT_DATE - created_at) AS days_since_created,
    DATE_PART('day', CURRENT_DATE - last_seen_at) AS days_since_seen
FROM users
WHERE last_posted_at IS NULL
  AND trust_level = 0
  AND admin = false
  AND moderator = false
  AND created_at < CURRENT_DATE - :active_days_ago
  AND (last_seen_at < CURRENT_DATE - :active_days_ago OR last_seen_at IS NULL)
  AND NOT EXISTS (
    SELECT 1 FROM posts WHERE posts.user_id = users.id
  )
  AND NOT EXISTS (
    SELECT 1 FROM topics WHERE topics.user_id = users.id
  )
ORDER BY days_since_seen
4 curtidas

Obrigado. Vou tentar isso.

O texto da configuração do administrador precisa ser atualizado, pois está incorreto.

O last_seen_at é baseado em quê? No login ou (estar logado) visualizando qualquer página do fórum?

É isso. A última vez que eles estavam visualizando ativamente os fóruns.

1 curtida