signification et statistiques de « nettoyer les utilisateurs inactifs après X jours »

Ceci est décrit comme :

Nombre de jours avant qu’un utilisateur inactif (niveau de confiance 0 sans aucun message) ne soit supprimé. Pour désactiver le nettoyage, définissez sur 0.

Pouvez-vous confirmer que ce sont les critères (TL0 et 0 message) ? Est-ce que la date de leur dernière connexion et/ou lecture d’un message est prise en compte, ou le nombre de jours commence-t-il à partir de l’enregistrement ?

Existe-t-il une requête Data Explorer pour afficher les utilisateurs TL0 qui ont 0 message, ainsi que le nombre de jours pertinent ? Ceci afin de donner une idée de l’effet du choix de nombres spécifiques pour ce paramètre. Merci.

Il y a des critères supplémentaires : les administrateurs et les modérateurs ne sont pas supprimés
De plus, la date de dernière connexion et la date d’inscription sont vérifiées.

Je pense que quelque chose comme ceci devrait retourner le nombre d’utilisateurs qui seraient supprimés

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

Pour voir quels utilisateurs seraient supprimés, ceci devrait fonctionner

-- [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 « J'aime »

Merci. J’essaierai ça.
Le texte du paramètre d’administration doit être mis à jour car il est erroné.
Sur quoi last_seen_at est-il basé ? La connexion, ou (le fait d’être connecté) la visualisation de n’importe quelle page du forum ?

C’est ça. La dernière fois qu’ils ont consulté activement les forums.

1 « J'aime »