ajax - Grails中Ajax请求的每个用户 Controller 的单例实例?

标签 ajax grails heroku

我正在为少数用户(最多 10 个)编写一个小型 Grails 应用程序。它将托管在 Heroku 免费托管(1 dyno=512 MB RAM)上。

该应用程序将有一个用户表单,在提交时会触发一个 Ajax 请求,该请求会在 Controller 中生成一个线程。(通过 preventDefault() 阻止默认提交操作,因为该任务非常耗时并且 Heroku 的超时时间约为 30 秒)。

例如,线程从外部 api/url 获取项目列表, Controller 将有一个实例变量,例如 itemFetched .用户表单的网页将包含一个进度小部件,该小部件将定期显示此 itemFetched 的值.
usera启动一个线程,当它在后台运行时,用户将看到 itemFetched 的状态当他离开该页面并再次点击该网址时。

如何创建“每个用户” Controller (只要通过 Ajax 线程产生的线程正在运行),而不是每个 HTTP 请求(即原型(prototype)范围)?

最佳答案

在这种特殊情况下, session 范围的服务将是完美的选择。您可以在 documentation 中了解更多信息。 .

通过使您的服务 session 具有范围,每个 HTTP session 都将拥有自己的服务实例,并且您可以在给定 session 中维护请求之间的状态。

关于ajax - Grails中Ajax请求的每个用户 Controller 的单例实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29381370/

相关文章:

ajax - ReactJS 和 Flux 中的 $resource 对应项

javascript - 无效的 HTTP 响应代码 ‘0’

postgresql - 使用一条命令自动设置附加组件 Heroku-Postgresql

ruby-on-rails - Heroku Bamboo 上的 Rails 3.1

jquery - 获取响应头 jquery ajax post Set-Cookie

javascript - 文件上传有时无法在 IE9 上运行

rest - 访问 grails 4.0.1 中的 REST Web 服务

debugging - Intellij 想法 在不停止完整调试的情况下停止执行函数

tomcat - Grails Tomcat 插件 - 找不到 DeployTask 错误

heroku 工具带命令问题