ajax加载时间长,如何最好地处理需要很长时间才能完成的ajax请求?
让我先说这个问题,说我对构建处理器密集型Web应用程序的设计相对较新。我有一个基于LAMP堆栈的功能应用程序,现在我正处于开发阶段,我必须实现扩展。
我有一个运行PHP代码的Web服务器ssh进入远程Windows机器以执行批处理过程,根据并发性可能需要大约15到45秒才能完成。我正在使用phpseclib pear library package提供的SSH2实现登录到远程计算机以使用Sysinternals' PsExec启动批处理文件。 PHP代码看起来像这样:
$remoteCommand = 'psexec -u username -p password -h cmd /C "C:\\automate_process.bat >> automate_process.log 2>>&1"';
$ssh_connection->exec($remoteCommand);
这实际上是从托管php代码的Web服务器调用远程Windows机器上的automate_process.bat。但是,automate_process.bat文件需要一段时间才能执行,如果有并发用户,有时会导致Web服务器的PHP超时。增加php.ini中的max_execution_time值并不能解决问题。
使用PsExec,-d开关不会等待automate_process.bat完成,并且将允许PHP脚本继续而无需等待。因此,在max_execution_time前面解决了问题,但出现了另一个问题:通知最终用户的浏览器automatic_process已完成。如何以有效的方式完成?看似需要的是应用程序代码中的体系结构更改。
起初我认为某种民意调查会起作用 - 也许是长期民意调查?我只想ping远程Windows机器以查看进程是否完整。但我读到的所有内容都表明,长轮询是Apache的一个严重负担,而远程Windows机器正在运行。此外,Web上的大量写作都指向Node.js作为解决方案。这真的是解决这类问题的方法吗?我是否必须学习一个新的框架,以便在应用程序扩展时使此操作更加强大?我很好,但我想知道我是否可以混合使用PHP和Node.js。如果是这样,有人可以提供一个简单的例子让我开始吗?
谢谢!
ajax加载时间长,如何最好地处理需要很长时间才能完成的ajax请求?相关推荐
- ajax请求中带判断语句例子,jQuery中借助deferred来请求及判断AJAX加载的实例讲解...
ajax请求异步队列加载我们在开发程序的时候通常会碰到使用ajax加载数据显示到列表的情况.ajax默认使用异步加载(async:true).为什么不使用同步呢,因为ajax同步加载会UI渲染线程阻塞 ...
- ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载
因为我们使用jQuery,这意味着需要调用 jQuery.getScript 和 jQuery.getJSON 函数. 我知道这些函数都是异步执行(asyncronously)并且会延迟一段时间返回, ...
- jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片)
jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片) 瀑布流-绝对定位布局,与浮动布局的区别在于 1.布局不一样: 绝对定位:一个UL里面放置所有的绝对定位的LI: 浮动布局:多个(一般三 ...
- selenium爬取Ajax加载的网页(以微博为例)
Tip:我写了一篇直接构造请求获取微博数据的文章,不使用selenium,直接访问url获取到json数据,然后解析即可得到想要的数据的文章,请参考微博博主动态及相册的请求构造规律 ========= ...
- google支持本地ajax,360chrome,google chrome浏览器使用jquery.ajax加载本地html文件
使用360chrome和google chrome浏览器加载本地html文件时,会报错,提示: XMLHttpRequest cannot load file:///Y:/jswg/code/html ...
- Python爬取考研张宇老师新浪微博-ajax加载
新浪微博中的数据采用Ajax加载进行显示,ajax加载即由JavaScript向服务器发送了一个请求来获取新的微博数据,并将其解析,最终将其渲染在网页中. ajax的分析方法: 一.分析请求 对于考研 ...
- ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画
jQuery Ajax 加载数据时异步显示加载动画 ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).re ...
- datatables增删改查php,jQuery+datatables插件实现Ajax加载数据与增删改查功能示例_白峰_前端开发者...
本文实例讲述了 这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查 注意,需要引入 搜索 新增 编辑 删除 职业姓名性别爱好 //点击查找 $(" ...
- .ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画
ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).ready(function () { $(" ...
- jQuery中ajax加载文本
原文来自: http://www.sharejs.com/codes/javascript/9063 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实 ...
最新文章
- gdi 中发生一般性错误_SMC/SMD波峰焊接过程中的注意事项分析
- tp3.2 连接两个数据库
- hibenate.hbm2ddl.auto属性详解
- Java的HTTP服务端响应式编程
- [蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)
- OpenStack精华问答 | OpenStack和CloudStack对比
- Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(一)
- Linux内核中TCP协议实现的关键数据结构
- 各种系统扫描磁带驱动器的操作方法
- c语言中的钩子函数,生命周期(vue的钩子函数)
- KITTI激光雷达点云解析与图像反投影
- 词法分析器java语言_Java语言词法分析器
- java integer最大值_Integer的最大值
- html中collapse代码怎么写,如何使用CSS中的border-collapse属性
- 门徒Disciples体系:致力于成为“DAO世界”中的集大成者。
- 电脑开机密码忘记,如何修改电脑密码?
- Web网页如何实现QQ好友,QQ空间,微博分享
- Win10系统还原文件默认打开方式
- ConstraintLayout 2.0 新特性 MotionLayout 制作炫酷动画
- python元组:格式化字符串
热门文章
- 过年回家送什么?这10个教小朋友编程玩具最有科技感
- 老司机和驾驶辅助系统相处得如何?MIT研究人员做了个科学研究
- 微信跳转浏览器--使用AugPush实现微信跳转手机浏览器
- Mysql Federated For Windows
- Item-Based Collaborative Recommender System
- 【微服务架构】SpringCloud组件和概念介绍(一)
- dev grid 常用方法
- [mark] some free templates sites
- Clojure 的身份与状态思想
- gVim 64位 Windows 7 安装过程 (使用spf13配置)