PHPackages                             sparallel/laravel - 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. sparallel/laravel

ActiveLibrary

sparallel/laravel
=================

Parallel PHP via processes for Laravel

060PHP

Since Apr 24Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/sprust/sparallel-laravel)[ Packagist](https://packagist.org/packages/sparallel/laravel)[ RSS](/packages/sparallel-laravel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (4)Used By (0)

Parallel PHP via processes for Laravel
======================================

[](#parallel-php-via-processes-for-laravel)

⚠️ Don't use a writing to STDOUT inside workers⚠️ VarDumper is muted inside workersAPP
---

[](#app)

```
# sparallel
## one of: sync, server
SPARALLEL_MODE=sync
SPARALLEL_SERVER_HOST=localhost
SPARALLEL_SERVER_PORT=18077
SPARALLEL_LOG_CHANNEL=null
SPARALLEL_SERVER_BIN_PATH=sparallel-server
```

```
php artisan vendor:publish --tag=sparallel-laravel
```

SERVER
------

[](#server)

### load the bin file

[](#load-the-bin-file)

```
php artisan sparallel:server:load
```

### .env.sparallel

[](#envsparallel)

```
# PID
SERVER_PID_FILE_PATH=storage/sparallel/sparallel-pid

# RPC
RPC_PORT=18077

# logging
LOG_DIR=storage/sparallel/logs
# any,debug,info,warn,error
LOG_LEVELS=any
LOG_KEEP_DAYS=3

SERVE_PROXY=false
SERVE_WORKERS=true

WORKER_COMMAND="php -d memory_limit=512M vendor/bin/sparallel-worker-e104f"
MIN_WORKERS_NUMBER=5
MAX_WORKERS_NUMBER=10
WORKERS_NUMBER_SCALE_UP=5
WORKERS_NUMBER_PERCENT_SCALE_UP=80
WORKERS_NUMBER_PERCENT_SCALE_DOWN=50
```

### .gitignore

[](#gitignore)

```
.env.sparallel
storage/sparallel/*
sparallel-server
```

### start server

[](#start-server)

```
sparallel-server --env=.env.sparallel start
```

example
-------

[](#example)

Init

```
$workers = app(\SParallel\SParallelWorkers::class);

$callbacks = [
    'first'  => static fn() => 'first',
    'second' => static fn() => throw new RuntimeException('second'),
    'third'  => static function(
        \SParallel\Entities\Context $context,
        \Illuminate\Contracts\Events\Dispatcher $dispatcher // DI support
    ) {
        $context->check();

        return 'third';
    },
];
```

Wait all tasks to finish and get results

```
/**
 * @var \SParallel\SParallelWorkers $workers
 * @var array $callbacks
 */

$results = $workers->wait(
    callbacks: $callbacks,
    timeoutSeconds: 2,
);

if ($results->hasFailed()) {
    foreach ($results->getFailed() as $key => $failedResult) {
        echo "$taskKey: ERROR: " . ($failedResult->error?->message ?: 'unknown error') . "\n";
    }
}

foreach ($results->getResults() as $result) {
    if ($result->error) {
        continue;
    }

    echo "$taskKey: SUCCESS: " . $result->result . "\n";
}
```

Run tasks and get results at any task completion

```
/**
 * @var \SParallel\SParallelWorkers $workers
 * @var array $callbacks
 */

$results = $workers->run(
    callbacks: $callbacks,
    timeoutSeconds: 2,
);

foreach ($results as $taskKey => $result) {
    if ($result->error) {
        echo "$taskKey: ERROR: " . ($result->error->message ?: 'unknown error') . "\n";

        continue;
    }

    echo "$taskKey: SUCCESS: " . $result->result . "\n";
}
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity19

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/eb5944a5bfd39c64f072b6c43fc6a315e4eea4d14c409538d1fd6de61a234847?d=identicon)[spp28rus](/maintainers/spp28rus)

---

Top Contributors

[![sprust](https://avatars.githubusercontent.com/u/57857525?v=4)](https://github.com/sprust "sprust (88 commits)")

### Embed Badge

![Health badge](/badges/sparallel-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/sparallel-laravel/health.svg)](https://phpackages.com/packages/sparallel-laravel)
```

PHPackages © 2026

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