我在论坛上找到了这篇关于如何使用 rails 控制台批量关闭帖子的说明:Auto-close old topics from a migrated forum - #10 by zogstrip
不过,有几个问题:
- 有更新的执行方法吗?
- 如果我想根据最后活动日期(而不是创建日期)来关闭帖子,是否有可以替换
created_at 的变量?
- 有没有办法排除私信(DM)不被关闭?我在测试环境中运行了查询,注意到它触及了所有帖子,无论是公开的还是私有的;如果可能的话,我们希望排除私信。
- 在我们的论坛上,我们有近 16 年的内容是从之前的解决方案导入的。就查询运行时间而言,(a) 我们如何确定它需要运行多长时间,(b) 是将其拆分(例如,先运行 2010 年之前的所有内容,然后是 2011 年、2012 年等,直到 2023 年)还是只运行一个查询会更好?
只是想确保(关于第 4 点)我们不会对系统性能产生太大影响。我知道这在很大程度上取决于我们运行的硬件(我实际上不知道是什么硬件,因为我们有一个基础设施团队负责安装和维护所有硬件)。
感谢任何指导!
在 #2 中,使用数据浏览器插件(我之前不知道有这个插件),看起来 updated_at 可能是“最后回复时间戳”的值。这是正确的评估吗?
感谢您的提示——我认为这对我的前三个问题非常有帮助。希望您能就 updated_at 以及我们计划如何处理扩展的帖子和主题历史记录提供一些清晰的说明。
jericson
(Jon Ericson)
5
我肯定会先用小批量进行测试。我曾因批量操作导致社区网站瘫痪,希望当初能先测试一部分。
1 个赞
谢谢 - 我怀疑情况就是这样。很高兴能确认这个方法。
我想我可能会尝试拉取一个最近的备份,并设置一个与我的测试环境分开的沙盒环境。不确定在这种设置中 SSO 部分将如何工作,但在影响生产系统之前,能够看到性能如何会很好。
jericson
(Jon Ericson)
7
这是一个好主意:
我会注意到,如果您的社区特别活跃,暂存站点将无法完全模拟生产环境,因为除了批量操作外,还有人们有机使用该站点的一些影响。
当然——也很感谢您指出暂存服务器帖子——那将非常有帮助。
是的,用户负载不太可能是一个大问题——看起来我们每天的页面浏览量平均约为 50,000(包括爬虫、匿名用户和注册用户)。了解潜在的负载增加量将有助于规划。
我确实设置了一个暂存服务器(实际上设置起来相当容易——我只是从生产环境恢复了一个备份,然后使用管理员恢复程序登录,因为它只配置为 OIDC)。看起来我们大约有 16 万个主题,并且在一个大约有 7500 个主题的类别上进行了快速测试,在我的测试系统上花费了 6 分钟——所以所有主题大约需要 2 小时。对系统性能(使用 htop 监控)的影响在这里似乎微乎其微。
我相信我们可以找到一个使用率较低的时间段来运行 rake 命令,并且我们可以根据需要分批处理类别,这对我们来说将非常好。
感谢所有的建议和帮助——因此,在过去的几天里,我对该平台有了很多了解。
system
(system)
关闭
10
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.