我在laravel中有一个站点,其中一个页面可以进行多个数据库查询(select语句,运行起来可能需要一段时间)。
是否有一种方法可以检测用户:
因此,这意味着不需要查询的结果,因此取消它或终止进程?
注意,数据库是mysql,所以我可以从mysql工作台轻松调用kill {PID}来手动结束类似的查询。
谢谢!
发布于 2017-04-05 10:36:58
是的,使用某些JavaScript可以很容易地检测到这一点;当用户试图离开或关闭页面时,会触发一个'onunload‘事件,从而回答1和3。在表单中更改字段也很容易检测。
困难的问题将是将cancel请求与原始查询匹配;不知何故,您必须知道该查询的PID,而且由于MySQL函数通常在它们完成后才返回,所以您不能请求像PID这样的信息。
https://stackoverflow.com/questions/43228218
复制相似问题