PHPackages                             jdlxnl/task - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. jdlxnl/task

ActiveLibrary[Queues &amp; Workers](/categories/queues)

jdlxnl/task
===========

Task and logging for running background tasks

2.0.7(4y ago)01.2k1[2 PRs](https://github.com/jdlxnl/task/pulls)MITPHP

Since Dec 23Pushed 4y ago2 watchersCompare

[ Source](https://github.com/jdlxnl/task)[ Packagist](https://packagist.org/packages/jdlxnl/task)[ RSS](/packages/jdlxnl-task/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (15)Used By (0)

Package
=======

[](#package)

Adds the ability to create tasks, and task logging. Adds a section to horizon to allow TaskLogs to be visible with task processing.

Install
-------

[](#install)

Add this repository to your composer.json

```
composer require jdlxnl/task
```

Run the following commands to setup the database

```
php artisan vendor:publish --provider="Jdlx\Slack\JdlxSlackServiceProvider"
php artisan vendor:publish --provider="Jdlx\Task\JdlxTaskServiceProvider"

php artisan migrate
```

Install horizon
---------------

[](#install-horizon)

```
composer require laravel/horizon
php artisan horzion:publish
php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"
```

Make sure to change horizon config to

```
[
...

    'defaults' => [
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => ['default'],
            'balance' => 'auto',
            'maxProcesses' => 1,
            'memory' => 256,
            'tries' => 1,
            'nice' => 0,
            'timeout' => 900 // set very high, have jobs control their own timeout
        ],
    ],

    'environments' => [
        'production' => [
            'supervisor-1' => [
                'maxProcesses' => 2,
                'balanceMaxShift' => 1,
                'balanceCooldown' => 3,
                'sleep' => 1
            ],
        ],

        'staging' => [
            'supervisor-1' => [
                'maxProcesses' => 1,
            ],
        ],

        'local' => [
            'supervisor-1' => [
                'maxProcesses' => 3,
            ],
        ],
    ]

    ...

 ]
```

Make sure to add route to the API

```
Route::apiResource('task-log', \Jdlx\Task\Http\Controllers\Api\TaskLogController::class);
```

Slack
-----

[](#slack)

To support slack make sure to add the following keys to .env

```
SLACK_WEBHOOK=https://hooks.slack.com/services/asd/B01HB2M20asdf4V/s8GCasfsaDJesxH3ZyZuHUx
SLACK_DEFAULT_CHANNEL=my-channel
```

Admin UI
--------

[](#admin-ui)

If you have the admin UI installed, you can add the tasklog using

```
php artisan adminui:module:task
```

Client
------

[](#client)

Building the client app

Add following to webpack.mix.js

```
mix.js('resources/js/tasklog/index.js', 'public/vendor/jdlx/task/app.js').react();
```

make sure to add following packages to package.json

```
{
  "react": "^17.0.1",
  "react-bootstrap": "^1.4.3",
  "react-data-table-component": "^7.0.0-alpha-5",
  "react-dom": "^17.0.1",
  "react-icons": "^4.1.0",
  "react-json-view": "^1.20.4",
  "react-router": "^5.2.0",
  "react-router-dom": "^5.2.0",
  "react-select": "^3.2.0",
  "styled-components": "^5.2.1"
}
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% 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 ~10 days

Recently: every ~1 days

Total

11

Last Release

1504d ago

Major Versions

1.0.3 → 2.0.12022-03-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/76caab2626cdfa35e2b169e284e6975c83b495f659cd1b21539d4b904f2af071?d=identicon)[jeroendelau](/maintainers/jeroendelau)

---

Top Contributors

[![jeroendelau](https://avatars.githubusercontent.com/u/5286898?v=4)](https://github.com/jeroendelau "jeroendelau (21 commits)")[![zeddouk](https://avatars.githubusercontent.com/u/17679065?v=4)](https://github.com/zeddouk "zeddouk (3 commits)")

### Embed Badge

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

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

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[amphp/parser

A generator parser to make streaming parsers simple.

14952.8M16](/packages/amphp-parser)[amphp/serialization

Serialization tools for IPC and data storage in PHP.

13451.1M18](/packages/amphp-serialization)[enqueue/enqueue

Message Queue Library

19820.0M56](/packages/enqueue-enqueue)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2238.8M171](/packages/react-async)

PHPackages © 2026

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