significato e statistiche di "pulire utenti inattivi dopo alcuni giorni"

Questo è descritto come:

Numero di giorni prima che un utente inattivo (livello di fiducia 0 senza post) venga rimosso. Per disabilitare la pulizia impostare a 0.

Puoi confermare che questi sono i criteri (TL0 e 0 post)? Si tiene conto di quando hanno effettuato l’accesso l’ultima volta e/o letto un post, o il numero di giorni inizia dalla registrazione?

Esiste una query di esplorazione dati per mostrare gli utenti TL0 che hanno 0 post insieme al numero di giorni pertinente? Questo servirebbe a dare un’idea dell’effetto della scelta di numeri specifici per questa impostazione. Grazie.

Ci sono alcuni criteri aggiuntivi: gli amministratori e i moderatori non vengono eliminati
Vengono controllate anche la data dell’ultima visita e la data di registrazione.

Penso che qualcosa del genere dovrebbe restituire il numero di utenti che verrebbero eliminati

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

Per vedere quali utenti verrebbero eliminati, questo dovrebbe funzionare

-- [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 Mi Piace

Grazie. Ci proverò.

Il testo dell’impostazione dell’amministratore deve essere aggiornato perché è errato.

Su cosa si basa last_seen_at? Sull’accesso o (sull’essere connessi) sulla visualizzazione di qualsiasi pagina del forum?

È questo. L’ultima volta che stavano visualizzando attivamente i forum.

1 Mi Piace