[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Возможен ли ассинхронный curl запрос
Страницы: 1, 2, 3, 4, 5, 6, 7
linker
MiksIr
Это всё конкретные реализации.
Цитата
Здрасти... с чего бы.

Очередь - это модель, как тот же стэк, а асинхронность - это процесс, немного разные понятия.

_____________
Gear Framework
Gear Framework на Github
linker
MiksIr
Отнюдь, как структура хранения и порядком доступа к хранимым данным - очередь не является каким-то асинхронным процессом. Скорее стоит говорить, что очередь является инструментом при реализации асинхронности.

_____________
Gear Framework
Gear Framework на Github
SoMeOnE
Цитата (MiksIr @ 5.02.2014 - 09:35)
Цитата (SoMeOnE @ 5.02.2014 - 13:25)
Где можно прочитать про очереди, как с этим работать?

Самый простой вариант - пишем скрипт, который раз в несколько секунд читает временную таблицу, смотрит - не появились ли там записи, если появились - что-то делает (постит).
Этот скрипт запускаете из командной строки в "бекграунде".

Если я кроном запущу скрипт, который будет выполнять данную операцию. Это будет реализацией понятия очередь?
Если нет в чем различия?
linker
MiksIr
Цитата
Ну типа "соленое не является трактором"

Абсурд - является синонимом глупости, т.е. абсурдное утверждение по сути является глупым утверждением, а значит не верным. Но моё утверждение таковым не является, оно верно просто потому, что оно верно по определению понятия очереди и понятия асинхронности.
Цитата
Очередь обрабатывать можно синхронно и асинхронно.

О чём я собственно и говорю, что очередь сама по себе не имеет свойства синхронности или асинхронности.
Цитата
Вот curl_multi есть асинхронная обработка, если хотите, то асинхронная обработка методом мультиплексирования.

Если я вызову curl_multi_exec() скрипт продолжит свою работу не дожидаясь результата работы этой функции? Я как-то могу повесть хэндлер, чтобы отследить возникновение события, когда любой из запросов завершит свою работу? И т.д. и т.п. является ли curl_multi действительно асинхронным?

_____________
Gear Framework
Gear Framework на Github
linker
MiksIr
Цитата
Постоянным вызовом curl_multi_exec можете отследить результат.

Т.е. придётся заблокировать процесс, что противоречит асинхронности.

_____________
Gear Framework
Gear Framework на Github
linker
Цитата
С чего бы? Процесс не блокируется.

Ну да, зависит от реализации, одна из которых цикл, который заблокирует процесс, а второй асинхронный через declare() и register_tick_function(). К тому же curl_multi_exec() работает для всего пула коннектов.

_____________
Gear Framework
Gear Framework на Github
linker
MiksIr
Я пытаюсь сказать, что это не совсем честная асинхронность, потому что в этой логике я могу намутить так, что до curl_multi_exec()/curl_multi_select() и не дойдёт дело и вообще я должен постоянно проверять чего там изменилось, ну соглашусь, что это можно списать на модель очереди, но всёравно, без колбэков как-то всё криво и не совсем честно. Сужу по Node.JS и очередям сообщений в винде, где для хоть какой-то разблокировки тяжёлых процессов (без многопоточности) приходится тискать processMessage.

_____________
Gear Framework
Gear Framework на Github
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.