Есть ли способ отследить и уничтожить запрос Postgres в Zend Framework - PullRequest
0 голосов
/ 09 августа 2011

Я работаю над проектом с использованием Zend Framework, PHP 5.3 и PostGres. Я создал Javascript-интерфейс, который сильно зависит от запросов AJAX.

Например, каждый раз, когда пользователь пытается добавить новое поле (что очень часто встречается), отправляется запрос, который запускает длительный запрос (5-10 секунд). Если пользователь добавляет 5 подряд, это потенциально 60 секунд, чтобы получить правильное значение запроса.

Я бы хотел убить текущий AJAX-запрос и запрос к БД каждый раз, когда получен следующий запрос. Есть ли в Zend средства для отслеживания этого запроса и его уничтожения при получении последовательного запроса ajax?

Чтобы дать вам представление о том, с чем я сейчас работаю -

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

return $data;

1 Ответ

1 голос
/ 09 августа 2011

В соответствии с этой статьей вы можете выполнить поиск в выходных данных ps -ef для запросов postgres со статусом «бездействует в транзакции» и завершить эти запросы, используя kill

Это потребует использования exec() или аналогичной функции для выполнения системных команд.

...