有没有办法在 Zend 框架中跟踪和终止 Postgres 查询

发布于 2024-11-28 21:09:26 字数 472 浏览 1 评论 0原文

我正在开发一个使用 Zend Framework、PHP 5.3 和 PostGres 的项目。我构建了一个严重依赖 AJAX 请求的 JavaScript 前端。

例如,每当用户尝试添加新字段(这很常见)时,都会发送一个请求,触发长时间运行的查询(5-10 秒)。如果用户连续添加 5,则可能需要 60 秒才能获得正确的查询值。

我想在每次收到连续请求时终止当前的 AJAX 请求和 DB 查询。 Zend 中是否有一种方法可以跟踪该查询并在收到连续的 ajax 请求时终止它?

让您了解我目前正在做什么 -

 $db = Zend_Registry::get('database');
$select = 'SELECT get_Query(' . $this->client_id  ')';
$data = $db->query($select)->fetchAll();

return $data;

I am working on a project using Zend Framework, PHP 5.3, and PostGres. I have built a javascript front end that relies heavily on AJAX requests.

For instance, any time a user tries to add a new field( which is very common), a request is sent that triggers a long running query (5-10 seconds). If the user adds 5 in a row, thats potentially 60 seconds to get the correct query value.

I would like to kill the current AJAX request and DB Query every time a successive request is received.
Is there a means in Zend to track that query and kill it if a successive ajax request is received?

To give you an idea of what I'm currently working with -

 $db = Zend_Registry::get('database');
$select = 'SELECT get_Query(' . $this->client_id  ')';
$data = $db->query($select)->fetchAll();

return $data;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

燃情 2024-12-05 21:09:26

根据这篇文章,可以搜索状态为“idle in transaction”的 postgres 查询的 ps -ef 输出,并使用 kill 终止这些查询

这将需要使用 exec() 或类似的函数来执行系统命令。

According to this article, you can search the output of ps -ef for postgres queries with a status of "idle in transaction" and terminate those queries using kill

This will require the use of exec() or a similar function to execute system commands.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文