PHPackages                             sconcur/sconcur - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. sconcur/sconcur

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

sconcur/sconcur
===============

Concurrency PHP via external demon

025PHPCI passing

Since Nov 27Pushed 1mo agoCompare

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

READMEChangelog (2)DependenciesVersions (6)Used By (0)

Concurrency via custom extension
================================

[](#concurrency-via-custom-extension)

build
-----

[](#build)

```
rm -f build/sconcur.so build/sconcur.h && \
  CGO_CFLAGS=$(php-config --includes) \
  go build -buildmode=c-shared -o build/sconcur.so .
```

echo test
---------

[](#echo-test)

```
php -d extension=./build/sconcur.so -r "echo \SConcur\Extension\ping('hello') . PHP_EOL;"
```

example
-------

[](#example)

```
$sleeper = new \SConcur\Features\Sleeper\Sleeper();

$collection = new \SConcur\Features\Mongodb\Connection\Client('mongodb://localhost:27017')
    ->selectDatabase('example')
    ->selectCollection('example');

$waitGroup = \SConcur\WaitGroup::create();

$waitGroup->add(
    function () use ($sleeper) {
        $sleeper->sleep(seconds: 1);

        return 1;
    }
);

$waitGroup->add(
    function () use ($sleeper) {
        $sleeper->usleep(milliseconds: 11);

        return 2;
    }
);

$waitGroup->add(
    function () use ($collection) {
        $collection->insertOne(['name' => 'example']);

        return 3;
    }
);

$waitGroup->add(
    function () use ($collection) {
        $iterator = $collection->aggregate([
            [
                '$match' => ['name' => 'example'],
            ],
        ]);

        foreach ($iterator as $item) {
            echo $item['name'] . PHP_EOL;
        }

        return 4;
    }
);

$iterator = $waitGroup->iterate();

foreach ($iterator as $key => $item) {
    echo "result: $item" . PHP_EOL;
}
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance60

Regular maintenance activity

Popularity8

Limited adoption so far

Community6

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 (206 commits)")

### Embed Badge

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

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

###  Alternatives

[arara/process

Provides a better API to work with processes on Unix-like systems

16861.7k2](/packages/arara-process)[ezsystems/ezautosave-ls

Content editing autosave extension for eZ Publish legacy

22423.2k3](/packages/ezsystems-ezautosave-ls)[copyleaks/php-plagiarism-checker

Copyleaks detects online plagiarism and checks content distribution. Use Copyleaks to find out if textual content is original and where it has been used before. This package shows how to integrate with the Copyleaks cloud to search for copyright infringement.

5066.4k](/packages/copyleaks-php-plagiarism-checker)[teknomavi/tcmb

T.C. Merkez Bankası üzerinden güncel döviz kurlarını çeker

7019.2k](/packages/teknomavi-tcmb)[silverstripe/multiform

SilverStripe forms with multiple steps, flow control and state persistence

3156.0k3](/packages/silverstripe-multiform)[kolab/calendar

Calendar plugin

3010.5k](/packages/kolab-calendar)

PHPackages © 2026

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