Как сделать асинхронность php?

Вопрос к тем, кто знает и шарит.

У меня задача сделать так, чтобы можно было перебивать запись, а то есть, если в PHP AGI я запускаю Playback, тогда скрипт ждет пока запись проиграется и идет дальше, но мне нужно, чтобы каждую секунду была проверка, через speechkit, что человек сказал что-то или нет. Если он говорит, тогда необходимо прервать playback и запустить другой сценарий.

Проблема как я уже сказал в том, что исполняется лишь 1 функция, а не две сразу.

Через что это можно выполнить? Посоветовали сокеты, но никогда с ними не работал, может они не актуальны тут.
  • Вопрос задан
  • 456 просмотров
Решения вопроса 1
@PanDar Автор вопроса
Проблему решил так:

$pid = pcntl_fork();
if ($pid == -1) {
    die('Не удалось породить дочерний процесс');
} else if ($pid) {
    // код первой функции
    pcntl_wait($status); // Защита против дочерних "Зомби"-процессов
} else {
    // код второй функции
}


Запускаются 2 функции одновременно
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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