|
|
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Возможно ли запуск запроса к MSSQL 2000 в асинхронном режиме? Если возможно, то как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 15:44 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
а что Вы подразумеваете под асинхронно ?!?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 16:31 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Т.е., я хочу запустить большую (минут на 20-30) процедуру на выполнение, но по какому-либо условию (отсоединение пользователя, к примеру) прервать ее через 5 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 16:39 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
а что мешает в процедуре, написать функцию, которая будет проверять UID пользователя на статус "подключен" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 16:47 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
А что это даст, если в процедуре один запрос, который и выполняется долго. Хотя, может сам MSSQL позволяет выполнять в Х.П. запросы асинхронно. Спасибо за идею, сейчас попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:02 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Сижу и ломаю голову над вопросом "что за задача, которая должна выполняться 30 минут и при дисконекте пользователя отрубаться?" Если не сложно, расскажи поподробней, а тоя всю ночь спать не буду. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:06 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Я не понял, что значит "хранимая процедура выполняется асинхронно"????? --------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:08 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Задача такова: есть скрипт, который выполняет статистическую обработку очень больших объемов данных (те самые 30 минут) и возвращает результат пользователю. Пользователь должен иметь возможность каким-то образом прервать выполнение скрипта (т.е., запроса). После закрытия окна браузера скрипт завершается, но ПОСЛЕ того, как выполнится Х.П.. Вот и вопрос, можно ли во время выполнения запроса проверять статус пользователя и прервать этот запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:14 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
посоветовался я тут, пришли к выводу, в Oracle, если стоит соответствующая установка, база данных сама отслеживает инициатора вызова, и если он был отключен (или отключился), база данных сама остановит процедуру и произведет rollback думаю стоит покопать документацию по mssql, наверняка там есть, что-то похожее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:20 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Так проблема как раз в том, что "инициатор" (рнр-скрипт) не останавливает свое выполнение. Т.е., он просто "висит", пока не выполнится эта .... процедура. Я поэтому и спрашиваю в разделе РНР, может кто-то знает, как во время выполнения запроса завершить скрипт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:30 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
У меня нет богатого опыта. Но, навскидку, подключислоь надцать пользователей к твоему серверу и все дружно сделали 30-тиминутный запрос. Действия сервера? Может, есть смысл пересмотреть стурктуру БД? З.Ы. Надеюсь, ты знаешь, как работает РНР. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:32 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
maxim_marchЯ поэтому и спрашиваю в разделе РНР, может кто-то знает, как во время выполнения запроса завершить скрипт. надо было об этом написать в вопросе изначально. тогда делайте так, запускаете второй процес, отключайте его от родителя, и переодический делайте проверку жив ли родитель, если нет, делайте rollback и exit; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:34 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
>Т.е., он просто "висит", пока не выполнится эта .... процедура. конечно висит! Он ждет результатов запроса. ждет столько, сколько указано в настройках РНР, а потом "умирает". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:35 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
maxim_marchТак проблема как раз в том, что "инициатор" (рнр-скрипт) не останавливает свое выполнение. Т.е., он просто "висит", пока не выполнится эта .... процедура. Я поэтому и спрашиваю в разделе РНР, может кто-то знает, как во время выполнения запроса завершить скрипт. никак AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:37 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
4m@t!c, думаю дело не в организации субд, а в размерах базы. 30 минут - лехко на отчет, допустим в SAP, за 3 месяца работы По теме - сделайте планирование запросов, т.е. табличка запросов, висит постоянный процесс(5, 10.. n процессов) которые последовательно выполняют запрос. И еще один процесс, который будет перезапускать нужный процесс, если выполнение запроса надо прервать. Тогда ваш скрипт будет рефрешить статус - отработало или нет, и если нажали отмену - давать отмашку на убиение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:39 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
2Макс М. , если он разделит процедуру на несколько блоков, то ИМХО если сделает как я написал выше, все будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:39 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
4m@t!c>Т.е., он просто "висит", пока не выполнится эта .... процедура. конечно висит! Он ждет результатов запроса. ждет столько, сколько указано в настройках РНР, а потом "умирает". некорректно выразился... конечно висит! Он ждет результатов запроса. Если скрипт не дожидается результатов за определенное время, то "умирает". ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:39 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Да поздно пересматривать По-моему, вообще было глупо такой прект делать на РНР. Меня потом подключили к проекту. "Действия сервера?" - плохо ему будет :) А выход? Тут перестройка базы не поможет, оптимизация запросов тоже свои пределы имеет. Там действительно ОЧЕНЬ большие объемы информации (система выполняет статистическую обработку инф-ии) и от этого никуда не денешься. "Надеюсь, ты знаешь, как работает РНР." - ну, пишу на нем периодически, но все ведь относительно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:42 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Николай aka Motodor2Макс М. , если он разделит процедуру на несколько блоков, то ИМХО если сделает как я написал выше, все будет работать. вообще я сначало подумал что он под windows работает. Как на пхп сделать ткое под windows - я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:45 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
погаречился я, приведя пример, ИМХО более верно будет сделать так. - родитель запускает второй процесс - второй процесс запускает процедуру - родитель запускает третий процесс, передает ему номер процесса второго процесса - третий процесс проверяет периодически жив ли родитель, если нет, то убивает второй процесс это даст возможность не разделять процедуру на блоки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:45 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
hell тебе реальный вариант предложил. Попробуй его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:46 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Надо все это переварить. Насчет процессов в РНР - сейчас как раз с этим разбираюсь, только PHP работает под IIS, вроде бы при таком варианте запуск и синхронизация процессов неважно работают (если вообще работают). Попробуем..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:49 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
Хммм, а вообще возможен в РНР запуск параллельных процессов, и, главное, обмен сообщениями между ними. Может, кто-то знает, чтобы зазря не искать (если нельзя)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 17:57 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
exec system pipe (хз есть ли в php) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 18:08 |
|
||
|
(РНР) Как выполнить асинхронный запрос к MSSQL?
|
|||
|---|---|---|---|
|
#18+
maxim_march mm> Задача такова: есть скрипт, который выполняет статистическую обработку mm> очень больших объемов данных (те самые 30 минут) и возвращает результат mm> пользователю. Пользователь должен иметь возможность каким-то образом mm> прервать выполнение скрипта (т.е., запроса). После закрытия окна mm> браузера скрипт завершается, но ПОСЛЕ того, как выполнится Х.П.. Вот и mm> вопрос, можно ли во время выполнения запроса проверять статус mm> пользователя и прервать этот запрос. А что если создать табличку, в ней флаг статуса. Флаг проверять из процедуры. Если сброшен, то прервать работу... -- Dik76 Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 14:58 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33003164&tid=1478478]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
136ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 428ms |

| 0 / 0 |
