Параллельный вызов функции PHP

12
F3
На сайте с 09.08.2010
Offline
99
3851

Всем доброй ночи! Подскажите плиз, возможно ли при выполнении скрипта PHP вызвать на исполнение параллельно функцию с разными параметрами (одновременное выполнение). Сейчас в цикле foreach последовательно вызывается функция, и из за этого скрипт работает очень долго. Нельзя ли как распараллелить процесс?

Мемори
На сайте с 11.11.2012
Offline
105
#1

вообще-то сам скрипт php можно вызвать много раз одновременно, что и происходит при одновременном посещении сайта несколькими юзерами. Т.е. можно разбить задачу на клиенте на части которые можно выполнять независимо и затем вызвать выполнение на сервере с клиента этих всех частей одновременно, и затем собрать конечный результат дождавшись ответа на клиенте от сервера по все запросам.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#2
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
A
На сайте с 18.06.2011
Offline
44
#3

А почему бы не использовать для этого Cron? То есть настроить на сервере по таймингу запуск необходимых скриптов.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#4

multicurl вам нужен.

Поймите многопоточность нужно закладывать УЖЕ сразу, иначе надо всё переписывать.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Aisamiery
На сайте с 12.04.2015
Offline
311
#5

На самом деле, не понимаю, почему никто не спросил что там в этом foreach? Пару миллионов итераций вполне может выполниться за пару секунд.

Может нужно оптимизировать то, что в цикле foreach выполняется?

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#6
Aisamiery:
На самом деле, не понимаю, почему никто не спросил что там в этом foreach? Пару миллионов итераций вполне может выполниться за пару секунд.

Может нужно оптимизировать то, что в цикле foreach выполняется?

Какая разница что там?

Вопрос в

исполнение параллельно функцию с разными параметрами (одновременное выполнение).
danforth
На сайте с 18.12.2015
Offline
153
#7
LEOnidUKG:
multicurl вам нужен.

multicurl нужен вне зависимости от того, что делает функция? ТС где-то говорил о том, что он запросы шлет?

LEOnidUKG:
Поймите многопоточность нужно закладывать УЖЕ сразу, иначе надо всё переписывать.

Это тоже не правда. Зависит от языка и задачи.

Junior Web Developer
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#8
danforth:
multicurl нужен вне зависимости от того, что делает функция? ТС где-то говорил о том, что он запросы шлет?
Это тоже не правда. Зависит от языка и задачи.

Тоже сообщения набиваем?

Язык у нас PHP, читать не умеем заголовок?

multicurl нужен для простейшей реализации:

Параллельный вызов функции PHP



---------- Добавлено 08.03.2017 в 11:59 ----------

Ссылку, которую дал Оптимизайка, там не всегда есть возможность добавить модуля в PHP.

danforth
На сайте с 18.12.2015
Offline
153
#9
LEOnidUKG:
Тоже сообщения набиваем?

С чего вы взяли? Я у вас спросил, к чему multicurl, если ТС вызывает функции, в которых неизвестно что происходит. Может он там fobinacci(n+1) считает, тоже multicurl нужен? Или вы хотите по своему-же серверу POST-ом передавать некие куски для обработки (с разными параметрами)? Сложилось впечатление, что либо вы оговорились, либо не знаете для чего нужен multicurl.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#10
danforth:
С чего вы взяли? Я у вас спросил, к чему multicurl, если ТС вызывает функции, в которых неизвестно что происходит. Может он там fobinacci(n+1) считает, тоже multicurl нужен? Или вы хотите по своему-же серверу POST-ом передавать некие куски для обработки (с разными параметрами)? Сложилось впечатление, что либо вы оговорились, либо не знаете для чего нужен multicurl.

ТС, не просил, вроде, за него написать код. Он просто спросил, какие есть варианты для параллельного вызова. И мы тут предлагаем разные варианты.

А вы уже тут какое-то ТЗ начинаете составлять 🍿

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий