powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (РНР) Как выполнить асинхронный запрос к MSSQL?
25 сообщений из 25, страница 1 из 1
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33002968
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно ли запуск запроса к MSSQL 2000 в асинхронном режиме? Если возможно, то как это сделать?
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003095
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что Вы подразумеваете под асинхронно ?!?!
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003126
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е., я хочу запустить большую (минут на 20-30) процедуру на выполнение, но по какому-либо условию (отсоединение пользователя, к примеру) прервать ее через 5 минут.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003164
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что мешает в процедуре, написать функцию, которая будет проверять UID пользователя на статус "подключен" ?
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003206
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что это даст, если в процедуре один запрос, который и выполняется долго. Хотя, может сам MSSQL позволяет выполнять в Х.П. запросы асинхронно. Спасибо за идею, сейчас попробую.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003218
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сижу и ломаю голову над вопросом "что за задача, которая должна выполняться 30 минут и при дисконекте пользователя отрубаться?"
Если не сложно, расскажи поподробней, а тоя всю ночь спать не буду.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003224
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял, что значит "хранимая процедура выполняется асинхронно"?????
---------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003240
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача такова: есть скрипт, который выполняет статистическую обработку очень больших объемов данных (те самые 30 минут) и возвращает результат пользователю. Пользователь должен иметь возможность каким-то образом прервать выполнение скрипта (т.е., запроса). После закрытия окна браузера скрипт завершается, но ПОСЛЕ того, как выполнится Х.П.. Вот и вопрос, можно ли во время выполнения запроса проверять статус пользователя и прервать этот запрос.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003269
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посоветовался я тут, пришли к выводу, в Oracle, если стоит соответствующая установка, база данных сама отслеживает инициатора вызова, и если он был отключен (или отключился), база данных сама остановит процедуру и произведет rollback

думаю стоит покопать документацию по mssql, наверняка там есть, что-то похожее....
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003305
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так проблема как раз в том, что "инициатор" (рнр-скрипт) не останавливает свое выполнение. Т.е., он просто "висит", пока не выполнится эта .... процедура. Я поэтому и спрашиваю в разделе РНР, может кто-то знает, как во время выполнения запроса завершить скрипт.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003313
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня нет богатого опыта. Но, навскидку, подключислоь надцать пользователей к твоему серверу и все дружно сделали 30-тиминутный запрос. Действия сервера?
Может, есть смысл пересмотреть стурктуру БД?
З.Ы. Надеюсь, ты знаешь, как работает РНР.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003318
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxim_marchЯ поэтому и спрашиваю в разделе РНР, может кто-то знает, как во время выполнения запроса завершить скрипт.
надо было об этом написать в вопросе изначально.

тогда делайте так, запускаете второй процес, отключайте его от родителя, и переодический делайте проверку жив ли родитель, если нет, делайте rollback и exit;
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003322
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Т.е., он просто "висит", пока не выполнится эта .... процедура.
конечно висит! Он ждет результатов запроса. ждет столько, сколько указано в настройках РНР, а потом "умирает".
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003329
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxim_marchТак проблема как раз в том, что "инициатор" (рнр-скрипт) не останавливает свое выполнение. Т.е., он просто "висит", пока не выполнится эта .... процедура. Я поэтому и спрашиваю в разделе РНР, может кто-то знает, как во время выполнения запроса завершить скрипт.
никак AFAIK
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003333
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!c, думаю дело не в организации субд, а в размерах базы. 30 минут - лехко на отчет, допустим в SAP, за 3 месяца работы


По теме - сделайте планирование запросов, т.е. табличка запросов, висит постоянный процесс(5, 10.. n процессов) которые последовательно выполняют запрос. И еще один процесс, который будет перезапускать нужный процесс, если выполнение запроса надо прервать. Тогда ваш скрипт будет рефрешить статус - отработало или нет, и если нажали отмену - давать отмашку на убиение.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003335
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Макс М. , если он разделит процедуру на несколько блоков, то ИМХО если сделает как я написал выше, все будет работать.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003336
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!c>Т.е., он просто "висит", пока не выполнится эта .... процедура.
конечно висит! Он ждет результатов запроса. ждет столько, сколько указано в настройках РНР, а потом "умирает".
некорректно выразился...
конечно висит! Он ждет результатов запроса. Если скрипт не дожидается результатов за определенное время, то "умирает".
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003347
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да поздно пересматривать По-моему, вообще было глупо такой прект делать на РНР. Меня потом подключили к проекту.
"Действия сервера?" - плохо ему будет :) А выход? Тут перестройка базы не поможет, оптимизация запросов тоже свои пределы имеет. Там действительно ОЧЕНЬ большие объемы информации (система выполняет статистическую обработку инф-ии) и от этого никуда не денешься.
"Надеюсь, ты знаешь, как работает РНР." - ну, пишу на нем периодически, но все ведь относительно. :)
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003362
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай aka Motodor2Макс М. , если он разделит процедуру на несколько блоков, то ИМХО если сделает как я написал выше, все будет работать.
вообще я сначало подумал что он под windows работает.
Как на пхп сделать ткое под windows - я не знаю
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003366
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
погаречился я, приведя пример, ИМХО более верно будет сделать так.
- родитель запускает второй процесс
- второй процесс запускает процедуру
- родитель запускает третий процесс, передает ему номер процесса второго процесса
- третий процесс проверяет периодически жив ли родитель, если нет, то убивает второй процесс

это даст возможность не разделять процедуру на блоки.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003369
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hell тебе реальный вариант предложил. Попробуй его.
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003378
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо все это переварить. Насчет процессов в РНР - сейчас как раз с этим разбираюсь, только PHP работает под IIS, вроде бы при таком варианте запуск и синхронизация процессов неважно работают (если вообще работают). Попробуем.....
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003410
maxim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хммм, а вообще возможен в РНР запуск параллельных процессов, и, главное, обмен сообщениями между ними. Может, кто-то знает, чтобы зазря не искать (если нельзя)?
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33003449
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exec
system
pipe (хз есть ли в php)
...
Рейтинг: 0 / 0
(РНР) Как выполнить асинхронный запрос к MSSQL?
    #33008484
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxim_march
mm> Задача такова: есть скрипт, который выполняет статистическую обработку
mm> очень больших объемов данных (те самые 30 минут) и возвращает результат
mm> пользователю. Пользователь должен иметь возможность каким-то образом
mm> прервать выполнение скрипта (т.е., запроса). После закрытия окна
mm> браузера скрипт завершается, но ПОСЛЕ того, как выполнится Х.П.. Вот и
mm> вопрос, можно ли во время выполнения запроса проверять статус
mm> пользователя и прервать этот запрос.

А что если создать табличку, в ней флаг статуса. Флаг проверять из процедуры. Если сброшен, то прервать работу...

--
Dik76

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (РНР) Как выполнить асинхронный запрос к MSSQL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]