尝试使用套接字运行后台任务时出现问题

时间:2019-11-19 10:21:09

标签: php sockets fuelphp background-task

使用套接字时,尝试运行后台任务时遇到了一些麻烦。由于它完全没有错误,因此我对如何进行操作有些迷茫。这是我的代码(至少是相关部分):

$socket->on('post_location', function ($data)use($socket){
    $path = DOCROOT;
    exec("cd $path && cd .. && sudo php oil refine testsocket> /dev/null &");
    $socket->broadcast->emit('post_location', array(
        'username'=> $socket->username,
        'message'=> $data
    )); 
});

我也尝试过:

$socket->on('post_location', function ($data)use($socket){
        Worker::test_socket();
        $socket->broadcast->emit('post_location', array(
            'username'=> $socket->username,
            'message'=> $data
        )); 
    });

在workerman的Worker类中,后台任务。请注意,其他所有内容都可以正常运行,但是由于某种原因,我似乎无法运行该任务,因此它什么也没做。如果我在其他任何地方调用它,它将起作用。此时的任务只是一个日志:

class Testsocket 
{
    public static function run ()
    {
        \Log::info('Testing');
    }
}

不胜感激任何指针。谢谢!

0 个答案:

没有答案