我每分钟都会运行 rake 任务,这些任务目前每分钟都会实例化 Rails 环境,作为 Foreman
和 cron gem 的工作人员。我担心的是,仅启动 Rails 就会消耗其中一个处理器的 90% 的电量,每次大约 20 秒。处理此类需要 Rails 环境进行数据库访问和一些库,但又不必如此频繁地启动整个系统的事情的最有效方法是什么?
除此之外,还有一些其他工作人员需要启动,因此情况变得更加复杂。
最佳答案
如果我是你,我会查看一些异步消息传递框架:Resque vs Sidekiq? 。使用这些 Rails 只需要加载一次,并且进程可以在必要时重用该 Rails。我认为这是通过 fork 完成的。不过不太确定。
关于ruby-on-rails - 由于 Rails env 启动,后台工作任务需要花费大量时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16017968/