Executando verificação de segurança...
1

[PHP LIB] PHP-Async

Olá pessoal, meu primeiro post aqui. Um tempo atrás eu pensei comigo:

Como criar uma lib de PHP que não dependa de estensões pecl* e seja realmente async processando em paralelo?

*pecl está velha, quebrada, depreciada e no Windows é difícil de usar, e aguardamos para que php-pie seja lançado logo


Bom, já tínhamos como fazer isso com Swoole e Parallel, mas como nenhuma das duas são soluções nativas do PHP pode nem possíveis de serem instaladas via composer, eu decidi criar essa lib:

https://github.com/terremoth/php-async

Eu testei várias libs antes para ver se elas entregam o que eu queriaa: AMP, ReactPHP, RxPHP e Revolt. Nenhuma delas era "realmente async" nem me dava a possibilidade de processar coisas em paralelo sem ficar "esperando" o retorno.

PHP não tinha isso por padrão, até agora. Eu encontrei uma forma de fazer isso com shmop e jogar o processamento para outro arquivo, usando alguns recursos que os terminais (tanto do Windows quanto do Linux tem), uma lib de serialização, e a mágica aconteceu. Funcionou e no momento parece bem usável.

Eu gostaria de pensamentos, críticas construtivas e ajuda em como posso pensar pra fazer bons testes unitários e de integração nesse cenário async e paralelo.

Carregando publicação patrocinada...
4
1

Opa, obrigado por responder. Então, não funciona. O spatie/fork depende da extenção ext-pcntl, que é POSIX, e incompatível no Windows. Só vai funcionar em ambientes UNIX-like.

PS C:\Users\lucas\Desktop\fork-test> composer require spatie/fork
Cannot use spatie/fork's latest version 1.2.5 as it requires ext-pcntl * which is missing from your platform

Se no Windows tivesse pcntl, esse post nem existiria ou faria sentido.

Minha lib funciona em qualquer ambiente.