【发布时间】:2016-12-04 04:16:06
【问题描述】:
我在 AWS 上有一个使用 Rails 编写的 Elastic Beanstalk/RDS/EC2/etc 的应用程序。
该应用有一些数据库条目需要在一定时间后删除,并且正在考虑使用 gem 创建一个后台任务。
但是,我看到的所有 gem 都只是以编程方式创建 cron 任务的方法。使用 Elastic Beanstalk,正在使用的服务器实例将扩展/更改,因此 cron 任务将丢失。还有其他方法可以在 Rails 中设置后台作业吗?
【问题讨论】:
-
对 Rails 不太熟悉,但看看这个可能会有所帮助github.com/collectiveidea/delayed_job
-
这让我很接近,但我需要将我的任务设置为以特定间隔运行(每分钟、每天晚上 11 点等)
-
你没有提到 RDS 的版本,但如果是 MySQL 或 MariaDB,有内置的event scheduler...
-
哎呀,对不起!我正在使用 PostgreSQL。
-
我使用 Rufus Scheduler 解决了这个问题:github.com/jmettraux/rufus-scheduler 谢谢大家!
标签: ruby-on-rails amazon-web-services amazon-rds amazon-ebs