Как я могу остановить выполнение SQL-запроса в PHP? - PullRequest
2 голосов
/ 05 июля 2011

У меня длинное выполнение SQL-запроса.Когда я закрываю страницу браузера, выполнение sql-запроса (postgresql) продолжается.Как я могу остановить его выполнение при закрытии страницы?

Ответы [ 4 ]

2 голосов
/ 05 июля 2011

Ну, вы не можете гарантировать, что отключение происходит без JavaScript, и единственный реальный способ убедиться, что вы знаете, что окно закрыто, - это постоянно пинговать сервер - иногда события закрытия страницы не Пожар. Таким образом, вам в основном нужно что-то в фоновом режиме отслеживать отслеживание пингов, и если вы не запускаете в данный момент времени, вызовите процесс kill.

Насколько я знаю, невозможно установить соединение с PostgreSQL, не войдя в систему как администратор и фактически не заставив угрозу закрыться. Метод называется pg_cancel_backend . Я НЕ БЫЛ принудительно прервал процесс с помощью командной строки kill. Это может иметь последствия, которых можно избежать с помощью встроенных инструментов.

1 голос
/ 05 июля 2011

У вас должен быть какой-то javascript, который будет срабатывать при закрытии страницы, и выполнять обратную передачу на сервер, который подключится к исполняемому процессу и остановит его.

0 голосов
/ 06 июля 2011

Судя по твоему вопросу, я предполагаю, что это машина для разработки.Если это так, просто перезапустите веб-сервер, чтобы завершить скрипт php.Если вы используете Apache, это будет выглядеть так:

sudo apache2ctl restart
0 голосов
/ 05 июля 2011

Вы можете убить процесс на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...