gpt4 book ai didi

ruby-on-rails-3 - Rails Controller ,可以安全地 fork 一个 block 然后返回吗?

转载 作者:行者123 更新时间:2023-12-04 07:10:05 24 4
gpt4 key购买 nike

简短而简单的问题:

fork { something_that_takes_a_few_seconds_and_doesnt_concern_the_user }

respond_to ...

有什么理由不在 Rails 应用程序中做这种事情吗?在 PHP 中,我们目前依赖于外部队列系统,如 beanstalk 或 Amazon 的 SQS,以及一个异步任务 worker ,该任务 worker 将事情从队列中拉出以在后台运行。在许多情况下,一个简单的 fork 会更适合,这取决于任务的复杂性。

最佳答案

是的,如果您收到太多请求或此过程花费的时间比预期的要长,您可以轻松地破坏您的 CPU 和内存,并且 Rails 应用程序将开始引发内存不足错误。

Rails 应用程序有许多死的简单后台 worker 解决方案,例如 Resque ,并且您可以在使用这样的解决方案而不是 fork 中受益匪浅,因为它总是会发生在您的 webapp 环境之外,即使发生了一些令人讨厌的事情,它也会仅限于工作机器(而不是您的应用程序服务器)。

此外,我看到很多人说,一旦你转向虚拟化词,内存碎片(由于产生和杀死许多进程)可能会造成损失并使你走得更慢。

关于ruby-on-rails-3 - Rails Controller ,可以安全地 fork 一个 block 然后返回吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3966269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com