如何使用SWOOLE异步执行函数



我听到过关于php的Swool项目的有希望的话。然而,在他们的文档/示例中,我只看到了服务器处理的实现(即如何设置Web服务器、回答请求等(。然而,我找不到示例,如何简单地从cli(即php myfile.php(启动异步函数其中myfile.php可能包含(我不希望(类似于SwooleSomeAsyncFunion的内容(只是phseudo名称(:

SwooleSomeAsyncFunion(  function(){ file_get_contents("http://site-1.com"); echo "hello";  }   );
SwooleSomeAsyncFunion(  function(){ do_long_running_function(); echo "world"; }   ); 
SwooleSomeAsyncFunion( .... ); 
SwooleSomeAsyncFunion( .... ); 
SwooleSomeAsyncFunion( .... ); 

因此,只需从php-cli以异步方式执行多个函数。如何做到这一点?对于parallel扩展,我与所描述的(parallelrun( function(){ ... } );(完全相同,但不知道如何处理swole。(我不需要任何网络服务器,只需要cli(。

您可以使用Corungo

use function SwooleCoroutinego;
use function SwooleCoroutinerun;
run(function () {
go(function () {
file_get_contents("http://site-1.com"); echo "hello";
});
go(function () {
do_long_running_function(); echo "world";
});
});

最新更新