我的应用程序需要轮询MySQL数据库以获取新行.每次添加新行时,都应检索它们.我正在考虑创建一个触发器,以在单独的表上放置对新行的引用.原始表有超过300,000行.
该应用程序是用PHP构建的.
一些好的答案,我认为这个问题值得赏心悦目.
我正在使用AngularJS和ASP.Net WebAPI开发客户端单页面应用程序(SPA).
SPA的一个功能包括上载大型CSV文件,在服务器上处理它,以及将输出返回给用户.
显然,这种计算不能在线完成,因此我实现了一个负责接收文件的UploadController,以及一个负责在计算完成时通知用户的PollingController.
客户端应用程序每隔几秒钟监视一次PollingController.
我没有消息队列的经验,但我的直觉告诉我他们在这种情况下是必需的.
您如何建议以非阻塞,高效的方式实现此功能?

举例将受到高度赞赏
我有一个Web应用程序,它使用与其他Web应用程序共享的SQL Server数据库(我无法控制).我必须知道任何Web应用程序何时对数据库中的某些表进行更改.
我的第一个想法是使用SqlDependency(具体来说SqlTableDependency,因为我需要知道更改的数据),但我担心性能问题.
我想知道是否有任何性能比较SqlDependency(非SqlTableDependency),触发器(触发WS,exe等)和轮询.
我发现了一些问题和文章,但对我来说还不够清楚
其他信息:
谢谢!
我正在开发一个基于 Spring 3.0 的 Web 应用程序,它要求所有用户登录才能查看数据。登录后,屏幕的某些部分会使用 AJAX 轮询机制在后台更新屏幕内容。目前,我们的会话不会超时,因为对服务器的每个ajax请求都会更新Web应用程序的超时,并且会话永远不会超时。
我需要修改应用程序,以便当用户登录时,控制器将用数据响应轮询,但不更新会话超时,以便会话在计划时间超时。如果用户没有活动会话,控制器不会返回任何内容。
我该怎么做呢?
我想每隔x分钟从服务器中提取一些数据.如果信息包含某些信息,我想创建通知.我希望即使应用程序在后台或手机处于睡眠状态时也会发生此轮询.我在android中有一些关于轮询的问题.
这样做的最佳方法是什么?我应该使用
IntentService,AlarmManager还有其他什么?
我应该多久轮询一次数据?我想保持相对频繁,比如每10分钟一次.
是否可以像在 Ajax 中一样使用 SSE 将 POST 数据发送到 PHP?
我现在使用 AJAX 已经有一段时间了,但在长轮询技术中效果不佳。我也一直在考虑WebSockets,但似乎有点多余。
我有一个asp.net网站,使用第三方exe处理请求.目前我的工作流程是
用户使用任何浏览器访问网站,并填写包含作业详细信息的表单
网站调用WCF自托管Windows服务,该服务正在侦听端口
Windows服务启动第三方exe来处理作业并将结果返回给网站
网站将返回的结果显示给用户
上面的网站是一个原型,现在需要转变为生产就绪部署.我意识到上述架构有许多可能会破坏的点.例如,如果机器电源关闭或者Windows服务崩溃并且不再监听端口,则所有当前请求都将停止处理.为了使架构更加健壮,我正在考虑以下内容
用户使用任何浏览器访问网站,并填写包含作业详细信息的表单
网站将作业详细信息写入数据库
为新作业每10秒轮询一次数据库的Windows服务将获取作业并使用第三方应用程序执行该作业.结果将写回数据库.
现在已经开始轮询数据库的网站,获取结果并将其显示给用户.
第二种体系结构为我提供了更多的日志记录功能,如果它们在队列中,则可以再次启动作业.然而,它涉及大量的轮询,可能无法扩展.有谁能推荐更好的架构?
但是在每次超时时,UI都会闪烁(短时间内为空模型).在新数据到达后如何更新模型(和视图)以避免这种闪烁效应?
这是我当前的控制器(从step_11(Angular.js教程)略微修改):
function MyPollingCtrl($scope, $routeParams, $timeout, Model) {
(function tick() {
$scope.line = Model.get({
modelId : $routeParams.modelId
}, function(model) {
$timeout(tick, 2000);
});
})();
}
Run Code Online (Sandbox Code Playgroud)
//编辑:我正在使用当前稳定的Angular.js 1.0.6
我正在Android上构建一个2人游戏.游戏以转向方式工作,因此玩家1等待玩家2输入,反之亦然.我有一个网络服务器,我使用Slim Framework 运行API .在客户端我使用Retrofit.因此,在客户端,我想每隔X秒轮询一次我的网络服务器(我知道这不是最好的方法)来检查是否有来自玩家2的输入,如果是更改UI(游戏板).
处理Retrofit我遇到了RxJava.我的问题是弄清楚我是否需要使用RxJava?如果是,是否有任何非常简单的例子用于改造轮询?(因为我只发送了几个键/值对)如果不是如何用改造来做呢?
我在这里找到了这个帖子,但它也没有帮助我,因为我仍然不知道我是否需要Retrofit + RxJava,是否有更简单的方法?
我开始开发一个软件,使用html + js编码的应用程序我需要使用nginx for routiong从服务器(java代码)发送此应用程序通知,并托管在AWS中.我调查了这个实时通知的主题,我在网络套接字和长轮询之间感到困惑 在什么情况下,AJAX长/短轮询比HTML5 WebSockets更受欢迎?
在一些文章中,我读到长轮询是一个旧的不像websocket更新更好(在什么情况下AJAX长/短轮询优先于HTML5 WebSockets?)我开始检查gmail facebook whatsapp网页的元素.我看到使用长轮询的Gmail + facebook与使用Websocket的whatsapp不同.那么为什么这些公司仍然选择使用长期投票呢? https://www.quora.com/Does-Facebook-use-WebSockets-for-any-of-their-applications-Are-they-really-useful-at-that-scale-especially-since-they-impose-一个有状态的体系结构
polling ×10
ajax ×2
android ×2
php ×2
rest ×2
triggers ×2
angularjs ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
flicker ×1
javascript ×1
jquery ×1
long-polling ×1
msmq ×1
mysql ×1
post ×1
retrofit ×1
rx-java ×1
spring-mvc ×1
sql-server ×1
websocket ×1