hosna
(hosna)
03.Июль.2020 05:17:26
1
Я понял, что многие мои неактивные пользователи ещё не были удалены. Поэтому я проверил этих пользователей и код. У этих пользователей не указано время последнего посещения (last_seen_at). Поэтому, я думаю, в следующей строке:
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)
они не обнаруживаются и не удаляются. Я прав? И что мне делать?
Как были созданы эти пользователи?
hosna
(hosna)
03.Июль.2020 14:36:01
3
Я думаю, они создаются через API и никогда не видят форум.
sam
(Sam Saffron)
06.Июль.2020 08:09:47
4
Да, эта задача, безусловно, не затронет эти выбросы. Думаю, стоит обновить их, добавив поле last_seen_at.
hosna
(hosna)
07.Июль.2020 11:39:18
5
Существует ли консольная команда для добавления значения по умолчанию для last_seen_at?