Как бы Вам объяснить… Просто загрузить данные по ссылкам в несколько потоков — недостаточно…
Нам надо помимо всего еще и, допустим, записывать данные в БД или выбирать по хоу выполнения какие-либо действия.
В любом случае курл_мульти_экзек — делает несколько запросов курла одновременно. Но нам то это и как раз не нужно! Нша задача — реализовать много потоков, выполняющих, возможно, даже, разный код!
В любом случае Ваше решение здесь неприемлимо.
Если бы надо было просто загрузить несколько ссылок или скачать файл многопоточно — Ваше предложение очень даже к месту было бы, но сейчас оно не подходит.
Полностью согласен. Ваше решение на PCNTL намного менее требовательно в ресурсах машины, но оно требует запуска из консоли. Тут такая ситуация, что решить эту проблему однозначно невозможно. И это минус языка, к моему сожалению.
Хорошо, спасибо за совет. Я попробую доработать систему с испльзованием SharedMemory.
По сути Вы правы, это не триды, а форки. Но реализация такова, что эти форки управляются как триды. Была задача реализовать именно так. Но всеравно спасибо за совет, поправлю.
Хотя у меня есть и минус в сторону Shared Memory — для того, что бы ее использовать нужно скомпилировать ПХП с параметром -smop, что недопустимо в моей ситуации.
Моя основная задача была разработать систему проверки ссылок. Причем эта система должна была отрабатывать максимально быстро и запускаться как страница. То есть при заходе клиента из браузера на страницу ему должно было вывестись сообщение с просьбой об ожидании и в это время начиналась проверка ссылок. Естественно, в один поток это очень долго. Для этого нужно использовать много потоко (триды, форки). Но так как PCNTL невозможен в условиях mod_php пришлось делать так как есть. Хостинг я использую чужой, что не позволяет мне попросить админов перекомпилировать пхп со всеми нужным мне параметрами.
В итоге мы имеем систему с минимальными требованиями к модулям.
Полностью согласен, на за Windows я уже очень давно (с года 99 ) нормально не сидел (только если в инет зайти, не больше ). И, поэтому, я без понятия как там теперь с правами пользователей, можно ли создать темповой директори и где ее найти… Если подскажите, то я доделаю и под Windows, разумеется, с автоопределением ОСи.
Мак ОСь тот же БСД… В некоторых моментах и в ней не обойтись без командной строки… Например как сделать, что бы Finder показывал скрытые файлы?
В GNOMe надо нажать Ctrl+H, в Explorer.exe надо в настройках поставить галочку что бы показывал скрытые файлы, а для Мак ОСи надо проделать следующие операции в консоле:
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
Так что эта гонка не окончится и всеравно линукс стремиться к верхам, но всетаки ему далеко до таких гигантов как Windows и Mac.
В итоге одно дерьмо.
Я хоть и сам пользуюсь Яббловской техникой и их же операционками, мне всеравно приходится прибегать к Винде по причине того, что надо делать заказ под винду или к Линуксу по причине того, что все сервы у меня под линой или под Фряхой.
На самом деле это бесконечная война двух монстров кто лучше, и я считаю что тут перевес общественности будет постоянно сваливаться то на одних, то на других.
Хотя, к счастью, последнее время Мак ОС выходит вперед… Хотяи в ней не без глюков… И она тоже умеет зависать в самые неподходящие моменты… =)
Я очень рад что хабр снова открылся…
Один только косяк…
Добрый люди за мою статью, которую я писал в личный блог и для себя, вообще-то, заминусовали мне карму, что я теперь не могу ни один пост написать.
Если не проблема. Поднимите хотя бы до 1.0 карму… Буду очень благодарен.
Нам надо помимо всего еще и, допустим, записывать данные в БД или выбирать по хоу выполнения какие-либо действия.
В любом случае курл_мульти_экзек — делает несколько запросов курла одновременно. Но нам то это и как раз не нужно! Нша задача — реализовать много потоков, выполняющих, возможно, даже, разный код!
В любом случае Ваше решение здесь неприемлимо.
Если бы надо было просто загрузить несколько ссылок или скачать файл многопоточно — Ваше предложение очень даже к месту было бы, но сейчас оно не подходит.
По сути Вы правы, это не триды, а форки. Но реализация такова, что эти форки управляются как триды. Была задача реализовать именно так. Но всеравно спасибо за совет, поправлю.
Хотя у меня есть и минус в сторону Shared Memory — для того, что бы ее использовать нужно скомпилировать ПХП с параметром -smop, что недопустимо в моей ситуации.
Моя основная задача была разработать систему проверки ссылок. Причем эта система должна была отрабатывать максимально быстро и запускаться как страница. То есть при заходе клиента из браузера на страницу ему должно было вывестись сообщение с просьбой об ожидании и в это время начиналась проверка ссылок. Естественно, в один поток это очень долго. Для этого нужно использовать много потоко (триды, форки). Но так как PCNTL невозможен в условиях mod_php пришлось делать так как есть. Хостинг я использую чужой, что не позволяет мне попросить админов перекомпилировать пхп со всеми нужным мне параметрами.
В итоге мы имеем систему с минимальными требованиями к модулям.
И вот если Windows Server? Там как??
Если мы клиенты Windows-хостинга?
Тогда, думаю, надо сделать возможность указать где должна находиться темповая директория…
Оутсурс? =)
В GNOMe надо нажать Ctrl+H, в Explorer.exe надо в настройках поставить галочку что бы показывал скрытые файлы, а для Мак ОСи надо проделать следующие операции в консоле:
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
Так что эта гонка не окончится и всеравно линукс стремиться к верхам, но всетаки ему далеко до таких гигантов как Windows и Mac.
Я хоть и сам пользуюсь Яббловской техникой и их же операционками, мне всеравно приходится прибегать к Винде по причине того, что надо делать заказ под винду или к Линуксу по причине того, что все сервы у меня под линой или под Фряхой.
На самом деле это бесконечная война двух монстров кто лучше, и я считаю что тут перевес общественности будет постоянно сваливаться то на одних, то на других.
Хотя, к счастью, последнее время Мак ОС выходит вперед… Хотяи в ней не без глюков… И она тоже умеет зависать в самые неподходящие моменты… =)
С меня статья ;)
Буду стараться.
Один только косяк…
Добрый люди за мою статью, которую я писал в личный блог и для себя, вообще-то, заминусовали мне карму, что я теперь не могу ни один пост написать.
Если не проблема. Поднимите хотя бы до 1.0 карму… Буду очень благодарен.