我有一个特别长的操作,它会在 用户按下界面上的按钮,我想知道什么是最好的 向客户表明这一点的方式。
该操作正在为多年有值(value)的数据填充一个事实表 这大约需要 20 分钟,所以我不打算让界面成为 同步。即使它在服务器端生成大量数据, 我仍然希望一切都保持响应,因为当月的数据 当前正在查看的用户将很快更新,这不是问题。
我想在操作完成后设置一个 session 变量 并轮询该 session 变量。这是做这样一个可行的方法吗 事物?但是,我特别担心 关于用户导航离开/关闭他们的浏览器,然后是所有状态 关于长时间运行的作业丢失。
在处理开始和结束时在某个地方插入一条记录来存放处理记录会更好吗?然后创建某种其他类型的界面,以便用户(或多个用户)可以监视当前正在执行/完成/失败的作业?
有任何资源可供我引用吗?
你是怎么做到的?
最佳答案
代码的服务器端部分应该生成或与网络服务器外部的进程通信。使用网页代码来运行应该由守护进程处理的任务只是草率的工作。
关于php - 使用 ajax 处理长时间的服务器端操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1189350/