hhvm async cli挂起

时间:2017-04-21 23:41:27

标签: command-line async-await hhvm hacklang

我有一个laravel应用程序,其中运行我正在运行命令行任务。

该任务基本上从数据库中提取数据并将其写入磁盘。文件大小约为15-35kb。每个任务都有大约30到60个文件。目前我正在测试只运行一项任务。

 public function run(){
    // ...code....
    $awaitables = [];
    foreach ($sites as $site){
        try {
            $awaitables[] = $this->process($site);
        } catch(\Exception $e){
            \Log::exception($e);
        }
    }
    $asyncCalls = \HH\Asio\v($awaitables);
    echo "Im here". PHP_EOL;
    $returns = \HH\Asio\join($asyncCalls);
    var_dump($returns);
}

当我运行任务时 time hhvm -v Eval.Jit=0 artisan exportfiles 时间输出显示大约2分钟。但是,文件会在大约20秒左右的时间内快速创建。我想知道为什么在看到$ returns变量的转储后会挂起1分钟。

我认为HH\Asio\Join($awaitables);总结了异步过程。

HipHop VM 3.18.0-dev (rel)
Compiler: heads/master-0-g0f6803df27b27f929f5edc175e11d302643f3a2c
Repo schema: 1733dfccb8791a77b6ce7b894ddd66e3238c2106
set_mempolicy: Operation not permitted

运行MacBook Pro 16gb Sierra 使用Docker For Mac

0 个答案:

没有答案