我听说了关于php的Swoole项目的一些有希望的话。然而,在他们的文档/示例中,我只看到了服务器处理的实现(即如何设置see服务器、应答请求等)。然而,我无法找到示例,如何简单地从cli (即php myfile.php)中触发异步函数,其中myfile.php可能包含(以我的未拆分)类似于以下Swoole\SomeAsyncFunion (仅是伪名)的内容:
Swoole\SomeAsyncFunion( function(){ file_get_contents("http://site-1.com"); echo "hello"; } );
Swoole\SomeAsyncFunion( function(){ do_long_running_function(); echo "world"; } );
Swoole\SomeAsyncFunion( .... );
Swoole\SomeAsyncFunion( .... );
Swoole\SomeAsyncFunion( .... ); 因此,只需从php-cli在async中执行多个函数。如何做到这一点?使用parallel扩展时,我与描述的( \parallel\run( function(){ ... } ); )完全相同,但无法弄清楚如何使用swoole。(我没有任何网络服务器的要求,只需要cli)。
发布于 2021-06-04 18:35:24
您可以使用Co\run和go
use function Swoole\Coroutine\go;
use function Swoole\Coroutine\run;
run(function () {
go(function () {
file_get_contents("http://site-1.com"); echo "hello";
});
go(function () {
do_long_running_function(); echo "world";
});
});https://stackoverflow.com/questions/67115467
复制相似问题