Yii2 cli和pcntl_fork

时间:2018-03-25 10:03:17

标签: command-line yii2 fork

我有一个永远运行的Yii2脚本,可以根据请求执行任务。

某些任务(如task2)应该在单独的分叉过程中执行:

switch ($command) {
    case 'task1':
        echo "hello";
        break;
    case 'task2':
        if ( ($pid=pcntl_fork()) == -1 )
            throw new Exception("fork failed");
        if ($pid==0) {
            // we are child process
            // perform task here
            ...
            exit(0);
        }
        break;
    }
}

执行这样的fork,数据库连接在父级中丢失。有一些workarounds on the PHP level,但如何在Yii2级别处理这个问题?

我们可以通过配置在Yii2中激活自动重新连接吗?

0 个答案:

没有答案