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) {
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}
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
Exception that is thrown when a process times out.
RuntimeException for the Process Component.
Process is a thin wrapper around proc_* functions to easily start independent PHP processes.
Definition: Process.php:31