PHPackages                             splash/tasking-bundle - 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. splash/tasking-bundle

Abandoned → [badpixxel/tasking-bundle](/?search=badpixxel%2Ftasking-bundle)Symfony-bundle[Utility &amp; Helpers](/categories/utility)

splash/tasking-bundle
=====================

Advanced Tasking Bundle for Symfony Applications (100% PHP)

2.0.0(1y ago)15.6k—3.8%MITPHPPHP ^8.0CI failing

Since Aug 26Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/SplashSync/Tasking-Bundle)[ Packagist](https://packagist.org/packages/splash/tasking-bundle)[ Docs](http://www.splashsync.com)[ RSS](/packages/splash-tasking-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (19)Versions (10)Used By (0)

Tasking-Bundle
==============

[](#tasking-bundle)

Advanced Tasking Manager for Symfony. 100% Php with high concurrency management.

Key features

- Background tasking: create jobs to be run by workers (Symfony commands)
- 100% PHP, works on any Linux Server with PHP7.2+
- High concurrency management: use jobs token to ensure task is executed by a single process.
- Multi-server compatible: tokens are stored in a central SQL Table.
- Optimized memory footprint: create a dedicated Symfony environnement to reduce memory impacts.

[![Total Downloads](https://camo.githubusercontent.com/d1a4cc3c096cd511bb9e132874774b077607384158bf9b1a0759a22611d789d3/68747470733a2f2f706f7365722e707567782e6f72672f73706c6173682f7461736b696e672d62756e646c652f646f776e6c6f6164732e706e67)](https://packagist.org/packages/splash/tasking-bundle)[![Latest Stable Version](https://camo.githubusercontent.com/844bb828363278522824a219e087160ea6dcf32f5eb245f07a52fbe4ca542edf/68747470733a2f2f706f7365722e707567782e6f72672f73706c6173682f7461736b696e672d62756e646c652f762f737461626c652e706e67)](https://packagist.org/packages/splash/tasking-bundle)

Installation
------------

[](#installation)

#### Step 1 - Requirements and Installing the bundle

[](#step-1---requirements-and-installing-the-bundle)

The first step is to tell composer that you want to download Tasking-Bundle which can be achieved by typing the following at the command prompt:

```
composer require splash/tasking-bundle
```

#### Step 2 - Enable the bundle in your kernel

[](#step-2---enable-the-bundle-in-your-kernel)

The bundle must be added to your `AppKernel`.

\*\*Step usually not necessary in Symfony Flex.

```
// app/AppKernel.php

public function registerBundles()
{
    return array(
        // ...
        new Splash\Tasking\SplashTaskingBundle(),
        // ...
    );
}
```

Create Your First Job
---------------------

[](#create-your-first-job)

Background jobs must extend [Splash\\Tasking\\Model\\AbstractJob](https://github.com/SplashSync/Tasking-Bundle/blob/master/src/Model/AbstractJob.php).

```
use Splash\Tasking\Model\AbstractJob;

class MyJob extends AbstractJob
{
    /** @return bool */
    public function execute() : bool
    {
        // Execute your background operations
        // ...
        return true;
    }
}
```

Job Token may be defined multiple way:

```
use Splash\Tasking\Model\AbstractJob;

class MyJob extends AbstractJob
{
    /** You can set it directly by overriding this constant */
    protected $token = "";

    /**
     * Or by writing an array of parameters to setToken()
     * @param array $parameters
     * @return self
     */
    public function setup(array $parameters): self
    {
        //====================================================================//
        // Setup Job Token
        $this->setToken($parameters);

        return $this;
    }
}
```

Available Job Types
-------------------

[](#available-job-types)

There are few predefined abstract job types, for different kinds of tasks:

- Splash\\Tasking\\Model\\AbstractJob: a single simple task, executed once by job class.
- Splash\\Tasking\\Model\\AbstractServiceJob: execute a Symfony service action with given parameters
- Splash\\Tasking\\Model\\AbstractStaticJob: a simple task, executed &amp; repeated every XX minutes.
- Splash\\Tasking\\Model\\AbstractBatch: step-by-step, execute multiple tasks inside a single job.

Symfony Commands
----------------

[](#symfony-commands)

The bundle comes with management commands to pilot workers from command line.

```
tasking:check       Tasking Service : Check Supervisor Process is Running on Current Machines
tasking:start       Tasking Service : Start All Supervisors & Workers Process on All Machines
tasking:status      Tasking Service : Check Status of Tasking Services
tasking:stop        Tasking Service : Stop All Supervisors & Workers Process on All Machines
tasking:supervisor  Run a Supervisor Worker Process
tasking:worker      Run a Tasking Worker Process
```

**Note: Tasking processes &amp; supervisor are activated &amp; checked each time a new task is added to queue**

Configuration reference
-----------------------

[](#configuration-reference)

Bundle configuration are stored under **splash\_tasking**:

```
splash_tasking:
    entity_manager: default     // Name of Doctrine Entity Manager to use for Tasks & Token Storage
    environement: prod          // Symfony Environnement to use for workers
    refresh_delay: 3            // Delay for workers status refresh
    watchdog_delay: 30          // Watchdog delay for tasks execution
    multiserver: false          // Enable multiserver mode
    multiserver_path: ''        // Url for remote servers checks
    server:
        force_crontab: false    // Use crontab to ensure supervisor is running (Useless if you uses 3+ workers)
        php_version: php        // Bash comamnd for php
    supervisor:
        max_age: 3600           // Time to live of supervisor process, if reached, process will die
        refresh_delay: 500      // Delay between two worker refresh
        max_workers: 3          // Number of worker to use
        max_memory: 100         // Max. Memory, if reached, process will die
    workers:
        max_tasks: 100          // Max. number of jobs to execute, if reached, process will die
        max_age: 120            // Time to live of a worker process, if reached, process will die
        max_memory: 200         // Max. Memory, if reached, process will die
    tasks:
        max_age: 180            // Time to live of a finished task in database
        try_count: 5            // Number of failed attemps for a task
        try_delay: 120          // Delay before retry of a failed task
    static:                     // Key => Class values for Static Jobs
        myStaticJob: AppBundle\Jobs\MyStaticJob
```

Docker Dev Environnement
------------------------

[](#docker-dev-environnement)

A Docker Compose file is available to run a development server. You can start it typing the following at the command prompt:

```
docker-compose up -d
```

Testing &amp; Code Quality
--------------------------

[](#testing--code-quality)

This bundle uses Phpunit for functional testing.

```
docker-compose exec app php vendor/bin/phpunit
```

This bundle uses Grumphp for all code quality checks (PHPMD, PhpCsFixer, PhpStan, and more...).

```
docker-compose exec app php vendor/bin/grumphp run
```

License
-------

[](#license)

This package is available under the MIT license.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance60

Regular maintenance activity

Popularity25

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~250 days

Recently: every ~294 days

Total

9

Last Release

90d ago

Major Versions

1.x-dev → 2.0.02024-06-19

2.x-dev → 3.x-dev2026-02-17

PHP version history (4 changes)1.0.0PHP ^7.2

1.2.0PHP ^7.4|^8.0

2.0.0PHP ^8.0

3.x-devPHP ^8.1

### Community

Maintainers

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

---

Top Contributors

[![BadPixxel](https://avatars.githubusercontent.com/u/8648419?v=4)](https://github.com/BadPixxel "BadPixxel (165 commits)")

---

Tags

phpsymfonybundletaskTasking

### Embed Badge

![Health badge](/badges/splash-tasking-bundle/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)[pentatrion/vite-bundle

Vite integration for your Symfony app

2755.3M13](/packages/pentatrion-vite-bundle)

PHPackages © 2026

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