如何解决Rails 6每24小时自动从数据库中删除帖子
有没有一种方法可以自动删除在Rails 6应用程序上创建的帖子/产品/文章或任何内容?我正在尝试建立一个在线图像存储库,用户可以上传仅显示24小时的图像,然后将其删除。我已经通过活动存储和Postgres发布并保存了图片/文本,但我无法将其保存到被自动删除。我已经读过有关sidekiq和resque调度程序的信息,但我发现很难理解并使其工作。我尝试了一些教程并阅读了文档,但仍然遇到麻烦。谁能指出我正确的方向或尝试帮助我?
解决方法
您有很多选择
-
最简单的方法是创建一个rake task并设置一个cron job以便每分钟或类似时间调用一次。如果您每24小时调用一次,则最终可能会导致帖子停留最多47小时。
-
您可以通过两种方式使用delayed jobs
2.1在after_create回调中,设置作业以在24小时后删除帖子。像这样的
handle_asynchronously :in_the_future,run_at: Proc.new { 24.hours.from_now }
2.2使用delayed_job_recurring gem在选项一中执行相同的操作,但无需使用cron
编辑:我将使用选项2.1,因为它是最简单且易于维护的选项,唯一的缺点是它将为每个帖子创建一个工作,但是即使每天有100万个帖子也不应该成为问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。