如何处理 Rails 应用程序的长请求,以便其他用户不会延迟太多?

2024-01-08

我在 Heroku 上有一个免费的 Rails 应用程序,它最近开始吸引一些用户。我的应用程序中的一个事件涉及查询另一个 API,最多可能需要 10 秒才能完成。如何确保同时访问简单页面的其他用户(作为另一个用户的 API 事件)不需要等待 10 秒来加载其页面?

我需要支付更多 Dyno 的费用吗?这是可以用delayed_job gem 解决的问题吗?另一个主机(如 AppFog 或 OpenShift)是否能够更快地处理并发请求?

Update: 这个问题 https://stackoverflow.com/questions/4138537/best-practice-for-processing-a-lot-of-data-while-the-user-waits-in-rails?rq=1建议手动处理线程而不是使用delayed_job。


这听起来像是延迟工作的情况。如果第一个请求只是在等待,最有效的做法是分配一个进程来等待它完成,然后切断 Rails 进程以处理另一个请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理 Rails 应用程序的长请求,以便其他用户不会延迟太多? 的相关文章

  • 我可以在同一台 Apache 服务器上运行 Python Django 和 Ruby 吗?

    我正在使用 ModWSGI 在 Apache2 上运行 Python Django 并且我想在同一台服务器上运行 Ruby on Rails 可以这样做吗 我读到 Passenger for Ruby on Rails 也可以支持 Djan
  • 设计忽略我的自定义策略

    我想创建一个用于访问 API 的自定义身份验证策略 我按照示例代码进行操作设计忽略自定义策略 https stackoverflow com questions 3503827 devise ignoring custom strategy
  • 在 Rails 中实现友谊模型的最佳方式

    我想在我的应用程序中实现用户的朋友系统 所以我发现 Rails 空间解决方案非常好 其想法是创建两行 in the Friendships table 第一行为发送者邀请 第二行为接收者 用户之间的关系设置为has many像这样的协会 h
  • 在 Heroku 上的生产模式下使用 Rails 同步 gem 与 Faye 和 Thin

    我正在尝试设置 同步 gem 以在我的 Rails 应用程序中启用实时更新 它使用 Faye 作为实时推送服务 并使用 Thin 作为网络服务器 我对此非常陌生 所以任何建议都会受到赞赏 我的本地服务器上有这个工作 但不知道如何让它在 He
  • Rails:ENV.fetch() 和 ENV[] 之间的区别

    这两种语法有什么区别 ENV fetch MY VAR ENV MY VAR 我见过 Rails 5 在不同的地方使用了这两个版本 但无法弄清楚其中的区别 除了第一个需要输入更多字符之外 The ENVhash like 对象是普通的 Ru
  • 使用 ActiveModel::Serializers 包含两个父 json 数组

    我正在尝试发送如下所示的前端应用程序 json facilities id 5 name happy days ranch location address 1424 Pastoral Lane zipcode 25245 instruct
  • Rails:控制文件存储缓存大小

    Rails 中基于文件的缓存的文档说 请注意 缓存将不断增长 直到磁盘已满 除非您 定期清除旧条目 不幸的是 它没有提供任何有关如何定期清除旧条目的信息 是否设置合适的值 expires in完成这项工作还是清除缓存背后还有其他某种黑魔法
  • 如何在 Ruby 中访问私有类方法?

    给定一个 Ruby 类 class MyClass def self my class method puts class method end private def my method puts regular method end p
  • Rails:与自身的多对多关系

    我在创建此关联时遇到问题 考虑模型 Entry 我希望条目有许多作为父母的条目 并且我希望条目有许多作为孩子的条目 我想通过一个我称为 关联 的模型来实现这种关系 所以这是我尝试的 移民 class CreateAssociations l
  • nginx 504 网关超时

    我正在 nginx 上使用 phusion passenger 运行 Rails3 0 7 项目 当我正在做 ajax 时 大约需要 15 分钟来处理 调用 ajax 10 分钟后 它会跳出一个 Firebug 错误 显示 504 Gate
  • 如何在 Heroku 上使用 rdiscount?

    我正在尝试将一个小型测试应用程序推送到 Heroku 这是应用程序和 Gem 文件 App require sinatra require haml require rdiscount set markdown layout engine
  • 为 has_many 或 habtm 动态创建 after_add 和 after_remove 回调?

    有没有办法动态添加after add and after remove回调现有的has many or has and belongs to many关系 例如 假设我有模型User Thing 和一个连接模型UserThingRelati
  • 使用 Mandrill send_at 或 Celery countdown/eta 延迟发送电子邮件

    我通常会发送交易电子邮件来响应我网站上的某些操作 其中一些我会延迟几个小时发送 实际对电子邮件进行排队的函数是一个 Celery 任务函数 调用方式为 delay 最终使用 Mandrill 进行 API 调用djrill https dj
  • Ruby on Rails 中的块调用

    我正在尝试清理我的代码并摆脱许多丑陋的哈希值 在我看来 我定义了几个这样的操作 actions interest gt Show interest link to disabled gt true follow gt Follow this
  • 如何在 Haml 中有条件地使用“content_for”包装器

    我正在尝试找到一种更干燥的方法来执行以下操作 if request xhr javascript my javascript else content for scripts do javascript my javascript 我在许多
  • Heroku 上的 Django 应用程序在一段时间后删除对象

    我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上 该网站的本地版本运行良好 但是 生产版本不会将问题 答案等存储超过几个小时 我决定坚持使用 Django 附带的 sqlite3 我预计该网站不会有太多流量
  • Imperavi Redactor 内容未复制到隐藏文本区域

    我正在尝试使用因佩拉维编辑器 http imperavi com redactor 在这里控制我的富文本编辑 div class control group div class controls div div document ready
  • 如何在 Cloud9 上使用 Rails Composer 和 postgreSQL 并在 Heroku 上部署

    使用过程轨道作曲家 https github com RailsApps rails composer使用 postgreSQL 创建 Rails 应用程序Cloud9 http c9 io在 Heroku 上部署充满了警告和错误 可能会让
  • 从 JSON 在 Devise 中创建用户

    我正在致力于将运行 Devise 的 Rails 3 1 应用程序与我的 iOS 应用程序集成以进行用户身份验证 我希望用户能够从应用程序注册 然后我可以存储这些凭据以便稍后登录 使用 RestKit 我这样做 IBAction regis
  • Rails 2 Mailer View 将 3D 添加到字符串之前

    我有一个非常旧的 Rails 应用程序 它试图为新用户发送验证电子邮件 但永远找不到令牌 因为由于某种原因 无论我如何生成链接 链接都会以 3D 形式添加到字符串前面 由于某种原因 它似乎还在标记的中间注入了一个 符号 这是一些带有输出的代

随机推荐

  • 使用 jQuery 使用 WCF 服务

    到目前为止 我已经使用了 Web 服务 并且运行良好 我添加了一个新的 WCF 服务 我正在使用 jQuery 调用服务 这就是我使用 jQuery 来使用 Web 服务的方式 ajax dataType json processData
  • 如何在reducer中处理redux-form/CHANGE

    推荐的处理方式是什么redux form CHANGE动作由 redux form 调度 我有自己的减速器来管理此表单的状态 但我不确定是否最好执行以下操作 export default reducer state initialState
  • WHOIS 命令未返回有用信息?

    如今 每当您使用 WHOIS 命令时 都不会返回任何有用的信息 我通常必须去 Godaddy Dnsstuff 或其他服务来获取数据 据我了解 原因主要是由于垃圾邮件 我只是想知道其他服务如何获取这些数据 他们使用不同类型的 WHOIS 命
  • 插入 SQL 数据库之前检查重复项

    所以我一直在做一些研究 我需要写一份INSERT语句将唯一的客户端名称插入到我的服务器上的表中 然而 数据库的默认标准已经有数千个客户端 当插入新客户端时 我们需要在尝试将其添加到系统之前检查它们是否已经存在 我的问题是最好 最快的方法是什
  • 在 JavaFX 中右键单击?

    如何检测 处理 JavaFX 中的右键单击 这是一种方法 import javafx stage Stage import javafx scene Scene import javafx scene shape Rectangle imp
  • 尝试导入sql文件时出现表已存在错误

    我正在尝试通过 phpMyAdmin 上传备份 sql 文件 创建与 phpMyAdmin 中的导入文件具有相同数据库名称的空数据库 然后使用从此空数据库中选择的导入函数 我收到以下错误消息 1050 Table db t already
  • JPA Native 查询获取单个对象

    如何使用 JPA Native 查询获取单个对象 我做了一些研究 但所有给出的答案都是使用 getSingleResult 但它没有返回我想要得到的东西 例如 如果我想获取数据库中表的计数并将其提取到整数中 我该怎么办 下面的代码显示了我如
  • Nginx 使用 CORS 和凭据

    我正在构建一个通过 Nginx 服务器与 Laravel API 进行通信的 Web 应用程序 我尝试按照 Nginx 网站上的说明进行操作完全开放的科尔斯 https enable cors org server nginx html 但
  • 无法解析符号 WebSecurityConfigurerAdapter

    我尝试在我的 java 应用程序中创建基本身份验证 对于他们 我在 gradle 文件中使用了这个依赖项 dependencies compile group org springframework boot name spring boo
  • Netlogo HPC CPU 使用百分比增加

    我通过以下方式使用无头 NetLogo 将作业提交到 HPC 服务器code bin bash N r20p q all q pe mpi 24 home abhishekb netlogo netlogo 5 1 0 netlogo he
  • RuntimeException 未安装 Zip PHP 扩展

    我是 Linux 新手 我刚刚安装了 Composer 和 Laravel 但是当我运行laravel new project我收到以下错误 RuntimeException The Zip PHP extension is not ins
  • 如何将 Jupyter 中的数据框导出为 csv 文件

    我有一个数据框另存为df在 jupyter 笔记本中 我想将其导出到桌面上的 csv 文件中 对于 pandas 数据框 您可以使用df to csv data csv https pandas pydata org pandas docs
  • 已发布并等待 RabbitMQ / EasyNetQ 主题的回复 - 如何仅获取您的主题?

    当发布者期望得到消息的答案时 如何确保在扩展时它只能得到 与其自己的消息相关的 答案 我们有一个客户端进程 它发布一条消息以供服务器进程应答 此外 我们有一个 监听器 进程 只需要消耗问题和答案 而不需要发布任何内容 此外 服务器进程将来可
  • 如何在量角器中等待元素启用

    尝试单击按钮时量角器失败 最初 该按钮将处于禁用状态 稍后它将被启用 量角器认为该按钮已准备好并单击该按钮并失败 所以我希望量角器脚本等到按钮启用 我在下面尝试过 但没有成功 有人可以发布完整的代码来等待该元素被启用吗 expect bro
  • Apple 是否提供其使用的本地化术语索引?

    Apple 是否为开发者提供了一套不同语言的标准术语 我之所以问这个问题 是因为我正在对应用程序的部分内容进行本地化 并且希望在整个应用程序中一致应用标准术语 我采用了一些策略 通过更改设备上的语言并观察 Apple 如何用其他语言解释这些
  • 从 R 读取 .npz 文件

    I save npz来自 Python 的文件并想在 R 中读取它 我尝试使用npyLoad功能 但我收到此错误 library RcppCNPy Data lt npyLoad xx npz Error in npyLoad xx npz
  • 在 Objective-C 中封装 C 库的技巧

    我有一个用 C 编写的库 我想在 Mac 或 iPhone 上的 Objective C 应用程序中使用它 不幸的是 由于该库是由开源领域的个人编写的 因此文档非常稀疏且不完整 虽然我可以弄清楚如何使用库中的内容 但我并没有真正了解整个代码
  • 使用常量内存在 O(n) 内对 BST 进行排序

    这不是作业 只是一个有趣的任务 给定一个由数组表示的完全二叉搜索树 使用常量内存在 O n 内对数组进行排序 Example Tree 8 4 12 2 6 10 14 1 3 5 7 9 11 13 15 阵列 8 4 12 2 6 10
  • ASP.NET MVC - 如何从不同的控制器维护 ModelState?

    我有一个带有 Index 操作的 HomeController 该操作显示 Index aspx 视图 它有一个用户名 密码登录部分 当用户单击提交按钮时 它会 POST 到 AccountController 中的登录操作 在此操作中 它
  • 如何处理 Rails 应用程序的长请求,以便其他用户不会延迟太多?

    我在 Heroku 上有一个免费的 Rails 应用程序 它最近开始吸引一些用户 我的应用程序中的一个事件涉及查询另一个 API 最多可能需要 10 秒才能完成 如何确保同时访问简单页面的其他用户 作为另一个用户的 API 事件 不需要等待