Запустите SQL-запрос с тайм-аутом в PHP или Как в PHP, чтобы остановить SQL-запрос, когда он уже начался?
Я прочитал документацию по oci_cancel, но она кажется мне немного нечеткой.
Есть ли oci_cancel
убить процесс sql на сервере?
Если нет, то как я могу создать сценарий, который выполняет SQL-запрос, ждет мгновение и, если запрос превышает 10 секунд (например), отменить запрос на сервере?
Извините, если этот вопрос похож на тот, который был задан некоторое время назад, но я не нашел удовлетворительного ответа.
3 ответа
В конце концов мне пришлось использовать решение, которое не знает, является ли оно лучшим, но это была смесь вещей:
Я уже использовал что-то подобное, чтобы сохранить результаты запросов в CSV-файлах, а затем поднять их в переменную сеанса.
Что ж, я использую этот способ для создания CSV-файла с результатом запроса, отправляя запрос в фоновом режиме PHP с помощью скрипта в php с помощью set_time_limit(10), а затем ожидая время (10 секунд) до тех пор, пока Результат запроса сохранен в переменной сеанса. Если время (10 секунд) прошло и я не сохранил запрос в переменной сеанса, я продолжаю делать следующие действия.
PDO позволяет вам указать тайм-аут запроса с атрибутом "ATTR_TIMEOUT", хотя это полностью зависит от того, поддерживает драйвер его или нет.
Используйте http://php.net/set_time_limit, если вы хотите отменить выполнение скрипта и прочитать об отмене запроса оракула