问题标签 [sucker-punch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 在 ActiveJob 完成后 Rails Puma 没有释放内存
我一直在使用 Puma 在 4GB VPS 上运行 rails 应用程序。我有 activejob(With Suckerpunch Backend),它从数据库表中提取 2,500,000 行的数据并进行一些计算并将结果写入另一个表中。activejob 进程在执行过程中消耗大约 3GB 的 RAM,大约需要 15 分钟才能完成。
问题是在activejob完成后,内存并没有释放回操作系统,而puma保留了内存,这使得我们无法在不重新启动puma的情况下运行新的activejob。如果我们重新启动 puma,RAM 就会被释放。
我们可以在每次 activejob 完成时重新启动 puma 服务,但我希望有一些更有效的方法来克服这个问题。