PHPackages                             fichtme/symfony-command-runner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. fichtme/symfony-command-runner

ActiveLibrary[CLI &amp; Console](/categories/cli)

fichtme/symfony-command-runner
==============================

Run multiple commands async

4.0.1(1y ago)110.8k↓55.6%2MITPHPPHP ^7.2|~8.0

Since Nov 24Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Fichtme/symfony-command-runner)[ Packagist](https://packagist.org/packages/fichtme/symfony-command-runner)[ RSS](/packages/fichtme-symfony-command-runner/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (6)Versions (17)Used By (0)

symfony-command-runner
======================

[](#symfony-command-runner)

Run multiple commands in another process and wait for completion.

Usage
-----

[](#usage)

```
(new CommandRunner([
            new Process("my:command -q"),
            new Process("my:command2 -q"),
            new Process("my:command3 -q").
            new Process("my:command4 -q"),
            new Process("my:command5 -q"),
            new Process("my:command6 -q --env=$env"),
        ]))
            ->continueOnError(true)
            ->setIO($this->io)
            ->setLimit(3)
            ->run();

```

Possible use case:
------------------

[](#possible-use-case)

```
/**
 * Class UpdateCommand
 *
 * @package App\Command\Update
 */
class UpdateCommand extends AbstractCommand
{
    /**
     * Configures the current command.
     */
    protected function configure()
    {
        $this->setName('app:update')
            ->setDescription('execute updates');
    }

    /**
     * @param InputInterface  $input
     * @param OutputInterface $output
     *
     * @return int
     */
    protected function execute(InputInterface $input, OutputInterface $output): int
    {
        $this->io->writeln('Running update scripts');

        sleep(5); # Sleep so user can abort update

        (new CommandRunner([
            new Process("my:command -q"),
            new Process("my:command2 -q"),
            new Process("my:command3 -q").
            new Process("my:command4 -q"),
            new Process("my:command5 -q"),
            new Process("my:command6 -q"),
        ]))
            ->continueOnError(true)
            ->setIO($this->io)
            ->setLimit(3)
            ->run();

        return 0;
    }
}
```

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 86.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~184 days

Recently: every ~147 days

Total

15

Last Release

514d ago

Major Versions

0.3.0 → 1.0.02019-12-31

1.1.0 → 2.0.02021-02-02

2.0.3 → 3.0.12023-05-12

3.0.1 → 4.0.12024-06-14

PHP version history (4 changes)0.1.0PHP ^7.0

1.0.0PHP ^7.2

3.0.1PHP ^7.2|~8.0

v1.0.0.x-devPHP ^7.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2284107?v=4)[Henny Krijnen](/maintainers/Fichtme)[@Fichtme](https://github.com/Fichtme)

---

Top Contributors

[![Fichtme](https://avatars.githubusercontent.com/u/2284107?v=4)](https://github.com/Fichtme "Fichtme (19 commits)")[![imbue](https://avatars.githubusercontent.com/u/28404530?v=4)](https://github.com/imbue "imbue (2 commits)")[![Noatel](https://avatars.githubusercontent.com/u/5977666?v=4)](https://github.com/Noatel "Noatel (1 commits)")

---

Tags

symfonycommands

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fichtme-symfony-command-runner/health.svg)

```
[![Health](https://phpackages.com/badges/fichtme-symfony-command-runner/health.svg)](https://phpackages.com/packages/fichtme-symfony-command-runner)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[crunzphp/crunz

Schedule your tasks right from the code.

2292.0M6](/packages/crunzphp-crunz)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[matthiasnoback/symfony-console-form

Use Symfony forms for Console command input

368264.8k8](/packages/matthiasnoback-symfony-console-form)[shapecode/cron-bundle

This bundle provides scheduled execution of Symfony commands

59493.0k2](/packages/shapecode-cron-bundle)[dukecity/command-scheduler-bundle

This Symfony bundle will allow you to schedule all your commands just like UNIX crontab

25350.9k5](/packages/dukecity-command-scheduler-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
