flash
2024 年2 月 3 日 20:54
1
删除数千篇带图片的帖子后,管理员部分中的上传文件大小保持不变。此设置已设置为 1。是否有更快的方法来清除与已删除帖子关联的所有上传文件?
清理已删除上传文件的宽限期(天)
在删除上传文件之前将其擦除的宽限期(天)。
我按照另一个帖子里的说法做了,但在重建后什么也没有消失
进入了 sidkiq
* Jobs::CleanUpUploads
* Jobs::PurgeDeletedUploads
* Jobs::DirectoryRefreshDaily
* Jobs::DirectoryRefreshOlder
删除所有内容后,我的上传文件从 13.7gb 增加到 14gb。似乎我删除的越多,上传文件数据就越高。
flash
2024 年2 月 3 日 22:41
2
我不确定我是否理解。我没有上传任何东西,只是在测试站点上删除了帖子和类别。现在没有用户了,而且已经过去了大约 3 个小时。从 13.7 到现在显示这个。孤立的上传设置为一小时后删除,但尚未发生。
我看到了这个讨论了很多的帖子,但什么都没发生?
Because message revisions are kept, and older removed messages are also kept, and even removed topics are still there in database, how do I make an image orphaned so it gets removed automatically by a sidekiq job?
然后是这个。
Call for Help!
Can a clever person walk me through combining:
AND
to make an awesome orphaned uploads purger run from the console?
I note that when I use rails db, I’m asked for Password for user discourse:. What do I do with that?
而且我尝试了那个帖子中提到的所有 Rails 方法、sidekiq 以及命令,但仍然没有任何东西被删除。由于用户在每个帖子中都发布了带有照片的帖子,因此应该有数百甚至数千张图片被删除。
我认为 post_uploads 表已不存在。现在是 uploads 和 upload_references。如果你正在尝试使用旧方法,可能需要更新该旧代码片段以考虑这一点。
你是如何删除这些帖子的?只是在 UI 中软删除吗?我认为清理孤立图片的设置(clean orphan uploads grace period hours)不考虑它们是否被软删除,只关心图片是否仍在帖子的最新版本中:
我认为你可以通过 rails 控制台选择所有帖子,并使用 PostDestroyer 来硬删除它们,然后在下次 Jobs::CleanUpUploads 运行(或手动触发)时,上传文件将被清理。
例如,如果它是一个完整的类别,我认为你可以使用类似这样的方法:
category = Category.where(id: CATEGORY_ID).pluck(:id)
topic = Topic.where(category_id: category).pluck(:id)
topic.each do |t|
Post.where(topic_id: t).find_each do |p|
PostDestroyer.new(Discourse.system_user, p).destroy
p.destroy!
end
end
我认为这个主题也有一些讨论,你可能会觉得有用 Delete deleted-posts permanently in bulk? - #57 by Simon_Manning
我将添加通常的警告,即在 rails 控制台中进行更改之前进行备份,以防万一。锋利刀具警报。
(只是 FYI,但 Jobs::DirectoryRefreshDaily 和 Jobs::DirectoryRefreshOlder 是填充 用户目录 的作业,与此无关)
5 个赞
system
(system)
关闭
2024 年4 月 16 日 11:00
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.