Pthreads超时

时间:2014-10-13 12:33:18

标签: php multithreading timeout pthreads kill

PLS是多线程的新手。我需要同时调用多个功能。所以我做了这个代码。它工作得很好,响应时间长,功能最长。我的意思是它在所有功能完成后从功能中写出我的结果..但有时会发生一些功能没有响应(该功能向保险公司发送请求并返回保险价格)。我需要一些暂停。如果该线程没有在该超时中返回任何结果,我需要杀死该线程并从其他线程回显结果

PS:关于我的英语,我希望你能理解我:)。

$input = Array(
'form_pzp_vozidlo_vykon'=> '55',
'form_pzp_objem_motora' => '500',
'form_pzp_rok_vyroby'   => '2014'
);

class MyWork extends Threaded {

    public $name;
    public $input;

    public function __construct($name, $input) {
        //echo "Constructing worker $name<br>";
        $this->name = $name;
        $this->input = $input;
    }

    public function run() {
      if ($this->name) {
            $motor_func = 'pzp_'.$this->name;
            $motor_vysledok = $motor_func ($this->input);

            echo '<pre>';
            print_r($motor_vysledok);
            echo '</pre>';

        }
    }

}

class MyWorker extends Worker {
    public function run() {}
}

$pool = new Pool(1, \MyWorker::class);
$pool->submit(new MyWork("union",$input));
$pool->submit(new MyWork("axa",$input));
$pool->submit(new MyWork("uniqa",$input));
$pool->shutdown();

0 个答案:

没有答案