让我先说这个问题,说我对构建处理器密集型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请求?相关推荐

  1. ajax请求中带判断语句例子,jQuery中借助deferred来请求及判断AJAX加载的实例讲解...

    ajax请求异步队列加载我们在开发程序的时候通常会碰到使用ajax加载数据显示到列表的情况.ajax默认使用异步加载(async:true).为什么不使用同步呢,因为ajax同步加载会UI渲染线程阻塞 ...

  2. ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载

    因为我们使用jQuery,这意味着需要调用 jQuery.getScript 和 jQuery.getJSON 函数. 我知道这些函数都是异步执行(asyncronously)并且会延迟一段时间返回, ...

  3. jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片)

    jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片) 瀑布流-绝对定位布局,与浮动布局的区别在于 1.布局不一样: 绝对定位:一个UL里面放置所有的绝对定位的LI: 浮动布局:多个(一般三 ...

  4. selenium爬取Ajax加载的网页(以微博为例)

    Tip:我写了一篇直接构造请求获取微博数据的文章,不使用selenium,直接访问url获取到json数据,然后解析即可得到想要的数据的文章,请参考微博博主动态及相册的请求构造规律 ========= ...

  5. google支持本地ajax,360chrome,google chrome浏览器使用jquery.ajax加载本地html文件

    使用360chrome和google chrome浏览器加载本地html文件时,会报错,提示: XMLHttpRequest cannot load file:///Y:/jswg/code/html ...

  6. Python爬取考研张宇老师新浪微博-ajax加载

    新浪微博中的数据采用Ajax加载进行显示,ajax加载即由JavaScript向服务器发送了一个请求来获取新的微博数据,并将其解析,最终将其渲染在网页中. ajax的分析方法: 一.分析请求 对于考研 ...

  7. ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画

    jQuery Ajax 加载数据时异步显示加载动画 ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).re ...

  8. datatables增删改查php,jQuery+datatables插件实现Ajax加载数据与增删改查功能示例_白峰_前端开发者...

    本文实例讲述了 这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查 注意,需要引入  搜索  新增  编辑  删除 职业姓名性别爱好 //点击查找 $(" ...

  9. .ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画

    ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).ready(function () { $(" ...

  10. jQuery中ajax加载文本

    原文来自: http://www.sharejs.com/codes/javascript/9063 ajax() 方法通过 HTTP 请求加载远程数据.  该方法是 jQuery 底层 AJAX 实 ...

最新文章

  1. gdi 中发生一般性错误_SMC/SMD波峰焊接过程中的注意事项分析
  2. tp3.2 连接两个数据库
  3. hibenate.hbm2ddl.auto属性详解
  4. Java的HTTP服务端响应式编程
  5. [蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)
  6. OpenStack精华问答 | OpenStack和CloudStack对比
  7. Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(一)
  8. Linux内核中TCP协议实现的关键数据结构
  9. 各种系统扫描磁带驱动器的操作方法
  10. c语言中的钩子函数,生命周期(vue的钩子函数)
  11. KITTI激光雷达点云解析与图像反投影
  12. 词法分析器java语言_Java语言词法分析器
  13. java integer最大值_Integer的最大值
  14. html中collapse代码怎么写,如何使用CSS中的border-collapse属性
  15. 门徒Disciples体系:致力于成为“DAO世界”中的集大成者。
  16. 电脑开机密码忘记,如何修改电脑密码?
  17. Web网页如何实现QQ好友,QQ空间,微博分享
  18. Win10系统还原文件默认打开方式
  19. ConstraintLayout 2.0 新特性 MotionLayout 制作炫酷动画
  20. python元组:格式化字符串

热门文章

  1. 过年回家送什么?这10个教小朋友编程玩具最有科技感
  2. 老司机和驾驶辅助系统相处得如何?MIT研究人员做了个科学研究
  3. 微信跳转浏览器--使用AugPush实现微信跳转手机浏览器
  4. Mysql Federated For Windows
  5. Item-Based Collaborative Recommender System
  6. 【微服务架构】SpringCloud组件和概念介绍(一)
  7. dev grid 常用方法
  8. [mark] some free templates sites
  9. Clojure 的身份与状态思想
  10. gVim 64位 Windows 7 安装过程 (使用spf13配置)