php - 使用 ajax 处理长时间的服务器端操作?

标签 php jquery ajax usability

我有一个特别长的操作,它会在 用户按下界面上的按钮,我想知道什么是最好的 向客户表明这一点的方式。

该操作正在为多年有值(value)的数据填充一个事实表 这大约需要 20 分钟,所以我不打算让界面成为 同步。即使它在服务器端生成大量数据, 我仍然希望一切都保持响应,因为当月的数据 当前正在查看的用户将很快更新,这不是问题。

我想在操作完成后设置一个 session 变量 并轮询该 session 变量。这是做这样一个可行的方法吗 事物?但是,我特别担心 关于用户导航离开/关闭他们的浏览器,然后是所有状态 关于长时间运行的作业丢失。

在处理开始和结束时在某个地方插入一条记录来存放处理记录会更好吗?然后创建某种其他类型的界面,以便用户(或多个用户)可以监视当前正在执行/完成/失败的作业?

有任何资源可供我引用吗?

你是怎么做到的?

最佳答案

代码的服务器端部分应该生成或与网络服务器外部的进程通信。使用网页代码来运行应该由守护进程处理的任务只是草率的工作。

关于php - 使用 ajax 处理长时间的服务器端操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1189350/

相关文章:

php - Laravel 5 图像类冲突

php - 如何获取选中的下拉项

javascript - Jquery 在行路径中水平水平制作六个图像的动画

javascript - 如何使用 php 通过 AJAX 以及单击链接时从数据库中删除记录

javascript - 通过 Ajax 将 Javascript 对象存储在 $_SESSION 中。数组与 JSON 字符串

php - Paypal 回馈用户

php - 不想将该值写入数据库

javascript - 如何使用 jQuery 适配器将配置信息传递到 CKEditor?

javascript - 增加 Anychart 散点图中特定标记点的大小

ajax - 使用 ajax 调用 prestashop 模块