Pthreads с тайм-аутом

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();

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]