在我的项目中,我使用ProcessCompoment并使用120秒的超时。
$process->setTimeout(120);
$process->run();
// executes after the command finishes
if (!$process->isSuccessful()) {
$job->setResult('error');
} else {
$job->setResult($process->getOutput());
}
问题是,当达到超时时,Symfony会返回RuntimeException
,但我需要知道此命令何时中止,以便在我的数据库中存储错误代替结果。
有人有想法吗?
答案 0 :(得分:2)
最后,我只是使用一个简单的try-catch ...
$process->setTimeout(120);
try {
$process->run();
} catch (RuntimeException $exception) {
$job->setResult('error');
}