169 похожих чатов

Где в синтаксисе PHP вы нашли что-то, что мешает вам

выполнять код асинхронно?

12 ответов

57 просмотров

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

Альберт-Степанцев Автор вопроса
Egor Gruzdev
Прошу прощения, может я что-то упустил, а где опис...

А в чем существенная проблема? https://habr.com/ru/articles/667590/ Описано всё в мануале по языку. Для тех, кто не любит его читать - иногда статьи пишут, с разъяснениями.

Альберт-Степанцев Автор вопроса
Egor Gruzdev
Прошу прощения, может я что-то упустил, а где опис...

На BeOS тоже надо? А она поддерживалась. Не так уж и давно.

Альберт-Степанцев Автор вопроса

Я знаю кейсы, когда реально нужно запускать PHP на Windows. И даже практикую это в продакшне. Но стараюсь никому об этом не говорить - не поймут же. Но позвольте - а что, у кого-то тоже есть такие же извращенные потребности? Можете поделиться - а на кой хер вам это надо?

Альберт Степанцев
Я знаю кейсы, когда реально нужно запускать PHP на...

асинхронность что мне приходилось использовать, это через curl_multi (обёртка на основе Guzzle) или очереди, это все и на Windows прекрасно работает. других вариантов не требовалось, т.к. задач где бы уперлись в базу данных или файлы не было.

Альберт-Степанцев Автор вопроса
Egor Gruzdev
асинхронность что мне приходилось использовать, эт...

Первое - это вообще не асинхронность. Второе - это просто очередь.ъ

Egor Gruzdev
нет я про Windows и Linux

запихиваешь похапе в докер и вжух. работает на всех системах, с нюансом что это докер и линукс

Egor Gruzdev
асинхронность что мне приходилось использовать, эт...

Через curl_multi я изначально и сделал, но код выглядит ужасно нелинейно, поэтому и стал смотреть на async-либы. Мой кейс: есть апи, из которого надо считать миллионы страницы, я стартую несколько десятков запросов, и как только любой из них получает ответ, я его обрабатываю, а вместо отработавшего запроса добавляется новый. В общем, видимо, напишу вариант на каждой из либ, там понятно будет. Сравнительных статей на удивление мало, доки только у reactphp более-менее полные.

Misha Kulakovsky
Через curl_multi я изначально и сделал, но код выг...

ну для этого есть файберы. Можно взять любую на вкус обертку которая позволит вам завернуть это все в красивое api. да и вроде асинхронных http клиентов навалом, вам не обязательно прям брать amphp или реакт для этого.

Misha Kulakovsky
Через curl_multi я изначально и сделал, но код выг...

Там еще задача усложняется тем, что после обработки надо в базу пульнуть батч-инсерт. Если всё вручную пилить, то к уродливому curl_multi добавится велосипедный async-бд-пул

Misha Kulakovsky
Там еще задача усложняется тем, что после обработк...

а зачем асинк бд пул? Ну мол, батч инсерт в базу милисекунды занимает, если сравнивать со временем скачивания сотен страниц и т.д.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта