ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ProcessTimedOutException.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
13 
15 
22 {
23  const TYPE_GENERAL = 1;
24  const TYPE_IDLE = 2;
25 
26  private $process;
27  private $timeoutType;
28 
30  {
31  $this->process = $process;
32  $this->timeoutType = $timeoutType;
33 
34  parent::__construct(sprintf(
35  'The process "%s" exceeded the timeout of %s seconds.',
36  $process->getCommandLine(),
37  $this->getExceededTimeout()
38  ));
39  }
40 
41  public function getProcess()
42  {
43  return $this->process;
44  }
45 
46  public function isGeneralTimeout()
47  {
48  return $this->timeoutType === self::TYPE_GENERAL;
49  }
50 
51  public function isIdleTimeout()
52  {
53  return $this->timeoutType === self::TYPE_IDLE;
54  }
55 
56  public function getExceededTimeout()
57  {
58  switch ($this->timeoutType) {
59  case self::TYPE_GENERAL:
60  return $this->process->getTimeout();
61 
62  case self::TYPE_IDLE:
63  return $this->process->getIdleTimeout();
64 
65  default:
66  throw new \LogicException(sprintf('Unknown timeout type "%d".', $this->timeoutType));
67  }
68  }
69 }
Exception that is thrown when a process times out.
getCommandLine()
Gets the command line to be executed.
Definition: Process.php:885
Process is a thin wrapper around proc_* functions to easily start independent PHP processes...
Definition: Process.php:30