Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
Привет. Ситуация: есть веб приложение (Apache, PHP, Postgres), с которым работаем порядка 50-60 пользователей. Бывают случаи, когда пользователь запускает формирование какого-то отчета, понимает, что указал неверные критерии и останавливает выполнение скрипта. Т.е. нажимает кнопку Стоп в эксплорере. Заметьте, что процесс postgres все еще обрабатывает его запрос. Вопрос: Можно ли отлавливать такие случаи и убивать повисшие процессы на сервере для сохранения работоспособности? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 13:58 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
авторТ.е. нажимает кнопку Стоп в эксплорере. Между эксплорером и Постгресом есть прослоечка - апач. Вот это его задачи, а не постгреса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 19:18 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
Согласен. Наводящий вопрос. А через что можно это настроить в апаче. Или это в другой форум? P.S. ответ: через httpd.conf не принимается :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 08:57 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
Это в другой форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:17 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
ездунВот это его задачи, а не постгреса. Есть полностью подконтрольное нам приложение на сервере А, взаимодействующее с PostgreSQL на сервере B через libpq. Приложение через N минут [часов, секунд] после подачи запроса решило этот запрос прервать. Казалось бы, PostgreSQL должен предоставлять какие-то средства для решения этой задачи. Они действительно существуют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 16:19 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
PostgreSQL предоставляет - в pgadmin ты же можешь отменить запрос. Другое дело клиентские библиотеки для php (да и других языков) - вот с этим труднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 18:54 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
Funny_FalconPostgreSQL предоставляет - в pgadmin ты же можешь отменить запрос. Да, я перепутал проблемы ;) - PostgreSQL не позволяет убить сессию "снаружи". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 19:46 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
ilejn Funny_FalconPostgreSQL предоставляет - в pgadmin ты же можешь отменить запрос. Да, я перепутал проблемы ;) - PostgreSQL не позволяет убить сессию "снаружи". вобщето инфа для этого есть. Получить pid с помощью PQbackendPID. Передать этот пид на сервер, и там завалить. можно даже ХП написать для этого :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 19:56 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
st_serg вобщето инфа для этого есть. Получить pid с помощью PQbackendPID. Передать этот пид на сервер, и там завалить. можно даже ХП написать для этого :) Хотелось бы поподробнее, если можно. Как можно из хранимой процедуры на plpgsql вызвать команду ОС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 20:00 |
|
||
|
Как отрубить процесс при отключении клиента?
|
|||
|---|---|---|---|
|
#18+
ilejn st_serg вобщето инфа для этого есть. Получить pid с помощью PQbackendPID. Передать этот пид на сервер, и там завалить. можно даже ХП написать для этого :) Хотелось бы поподробнее, если можно. Как можно из хранимой процедуры на plpgsql вызвать команду ОС? Собственно, из plpgsql - вряд ли, но "untrusted" языки это позволяют (pl/perl u , pl/tcl u , и т.д.): Код: plaintext 1. 2. 3. 4. 5. Для убийства процесса совершенно необязательно изобретать велосипед - всё уже есть: pg_cancel_backend sends a query cancel (SIGINT) signal to a backend process identified by process ID. The process ID of an active backend can be found from the procpid column in the pg_stat_activity view, or by listing the postgres processes on the server with ps. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 07:11 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34120545&tid=2005968]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 355ms |

| 0 / 0 |
