hosna
(hosna)
Juillet 3, 2020, 5:17
1
J’ai réalisé que beaucoup de mes utilisateurs inactifs n’ont pas encore été supprimés. J’ai donc vérifié ces utilisateurs ainsi que le code.
Ces utilisateurs n’ont aucune valeur pour last_seen_at. Je pense donc que dans la ligne suivante :
class CleanUpInactiveUsers < ::Jobs::Scheduled
every 1.day
def execute(args)
return if SiteSetting.clean_up_inactive_users_after_days <= 0
User
.where(
last_posted_at: nil,
trust_level: TrustLevel.levels[:newuser],
admin: false,
moderator: false,
)
.where("users.created_at < ?", SiteSetting.clean_up_inactive_users_after_days.days.ago)
.where(
"users.last_seen_at < ? OR users.last_seen_at IS NULL",
SiteSetting.clean_up_inactive_users_after_days.days.ago,
)
.where
.missing(:posts, :topics)
.limit(1000)
ils ne sont pas détectés et supprimés. Est-ce exact ? Et que puis-je faire ?
Comment ces utilisateurs ont-ils été créés ?
hosna
(hosna)
Juillet 3, 2020, 2:36
3
Je pense qu’ils sont créés via l’API et ne voient jamais vraiment le forum.
sam
(Sam Saffron)
Juillet 6, 2020, 8:09
4
Oui, ce travail ne touchera certainement pas ces enregistrements aberrants. Je suppose qu’il faudrait peut-être les mettre à jour avec last_seen_at.
hosna
(hosna)
Juillet 7, 2020, 11:39
5
Existe-t-il une commande de console pour ajouter une valeur par défaut à last_seen_at ?