![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
Доброго времени суток
появился такой вопрос, есть действия (работа с БД) которые занимают много времени (от пары минут до пары часов) хотелось бы что запуская на странице процедуру , что бы эта процедура начала выполнятся в другом потоке\процессе , при этом клиенту выдавалось сообщение "идет обчсет" а когда он в другом потоке отработал , можно было запросить результат . может смутно выразился, сорри , но хочется аналог потоков , тредов как на си, такое возможно на php ? Заранее благодарен всем ответившим. -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
Romikgy, не подскажешь чем загрузить базу, хотя бы на 10 минут. Хочу проверить, прежде чем советовать.
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
давай с совета начни ))
ибо я могу загрузить и другой работой )) мне нужно именно 2 рабочий поток .... можно его организовать на пхп? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
http://gearman.org/index.php
Мысли пока сумбурные, маловата квалификация. 1 Пишем клиента на PHP (GearmanClient) 2 Пишем работягу на ... С - не проверял, не знаю. Если на PHP то получалось 3 GearmanWorker по окончании работы пишет результат куда-нибудь 4 Из браузера проверяем этот результат, если есть выводим. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
1. Пишем задание в Queue заданий. 2. Демон или крон хватает задание и выполняет его. Ради нескольких строчек для демона нет смысла ковырять чужие либы. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
спасибки за ответ
что сие есть ? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Romikgy, очередь.
Не знаком разве со stack/set/list/vector/map/queue/etc понятиями? Т.е. просто тупо пишем в некоторое хранилише(файл/база/общая память и т.д.), работающие по типу очереди. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
nerezus, спасибо
но причем очередь к моему вопросу? и что за демон? это типо из линуха? Добавлено через 3 минуты и 3 секунды
это как я понял для ассинхроной работы с другими сайтами но это не совсем параллелизм (( мож есть еще что то типа такого же? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
и не понятно какие права нужны для запуска proc_open
ибо под виндой у мя туто виснет и все:( -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Решение на поверхности. Не надо никуда рыть. |
||||
|
|||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
pcntl
или даже проще exec('php script.php >mylog.txt &') -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| cha0t1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 12.4.2010 Репутация: нет Всего: нет |
На практике бывает нужно перенаправить еще stdin : < /dev/null. Или вообще делать вызов через nohup
|
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
Romikgy, видишь куда все повернулось
На мой взгляд только демон есть решение. Вот только Windows портит картину. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
IgorIV, в винде тоже это можно.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |