асинхронным php, а именно с корутинами Amphp? Конкретно у меня кейс использования сего чуда в качестве вебсокетов.
Сам код loop`a: https://pastebin.com/S2pcVBUD.
Я создаю несколько подключений, и по ним прохожусь внутри цикла для получения ответов с каждого подключения. При получении ответа от message через метод buffer (строка 39) я через async redis записать значения с обеих подключений в базу могу сразу же после получения.
Но при попытке дальнейшего конвертирования и использования я получаю только последний message, а первые несколько как-будто просто игнорируются.
Также при попытке сделать то же самое через вызов asyncCall терплю неудачу и даже не могу записать все значения в redis, только последнее, не говоря уже о дальнейшей обработке.
Я понимаю что buffer по идее должен отдавать promise и мне нужно по нему проходится циклом, так как это итератор, но при попытке сделать это оказывается что там возвращается сразу строка, но никак не промис.
$connect->send(json_encode($connectionMessage)); Почему без yield?
Обсуждают сегодня