Skip to content

Commit

Permalink
[Components][Process] mustRun() documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
xabbuh committed Sep 5, 2014
1 parent 4a7f973 commit 2bce8a1
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions components/process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,25 @@ the contents of the output and
:method:`Symfony\\Component\\Process\\Process::clearErrorOutput` clears
the contents of the error output.

.. versionadded:: 2.5
The ``mustRun()`` method was introduced in Symfony 2.5.

With Symfony 2.5, you can use the :method:`Symfony\\Component\\Process\\Process::mustRun`
method which throws a :class:`Symfony\\Component\\Process\\Exception\\ProcessFailedException`
when the process couldn't be executed successfully::

use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;

$process = new Process('ls -lsa');

try {
$process->mustRun();
print $process->getOutput();
} catch (ProcessFailedException $e) {
print $process->getErrorOutput();
}

Getting real-time Process Output
--------------------------------

Expand Down Expand Up @@ -218,17 +237,17 @@ Process Idle Timeout
.. versionadded:: 2.4
The :method:`Symfony\\Component\\Process\\Process::setIdleTimeout` method
was introduced in Symfony 2.4.

In contrast to the timeout of the previous paragraph, the idle timeout only
considers the time since the last output was produced by the process::

use Symfony\Component\Process\Process;

$process = new Process('something-with-variable-runtime');
$process->setTimeout(3600);
$process->setIdleTimeout(60);
$process->run();

In the case above, a process is considered timed out, when either the total runtime
exceeds 3600 seconds, or the process does not produce any output for 60 seconds.

Expand Down

0 comments on commit 2bce8a1

Please sign in to comment.