我有一个 Web 应用程序,它应该运行需要时间才能完成的资源密集型任务(功能)。我通过调用 url 触发了这个任务;
http://app.domain.com/process_file/@fileid
但是,正如预期的那样,Web 客户端等待任务(函数)完成。这很可能会导致超时。
请建议我可以触发任务并让用户继续浏览 webapp 的方法。
到目前为止,我已经尝试了以下方法;
1. JQuery/ajax
2. Redirecting to a _blank page
注意:我无权访问 crontab 或调度程序。我正在使用 PHP、JavaScript 和 fat-free 框架
最佳答案
我相信您正在寻找 abort功能:
function (Base $f3) {
// process request and send response to client (could be a redirect status)
$f3->abort(); // disconnect the client
// perform consuming task here
}
这基本上是 Pavel Třupek 建议的解决方案,为方便起见包裹在一个方法中。
关于javascript - 在不丢失 session 的情况下通过 Web 客户端触发后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56220034/