PHPackages                             g4/tasker - 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. g4/tasker

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

g4/tasker
=========

Application asynchronous tasks manager and runner, cron-like PHP implementation with ability to run tasks with resolution in seconds

2.22.0(5mo ago)1455.1k↓33.3%9MITPHPPHP &gt;=7.3CI failing

Since Jan 12Pushed 5mo ago10 watchersCompare

[ Source](https://github.com/g4code/tasker)[ Packagist](https://packagist.org/packages/g4/tasker)[ Docs](http://g4fw.com/tasker)[ RSS](/packages/g4-tasker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (123)Used By (0)

Tasker
======

[](#tasker)

> Tasker - Application asynchronous tasks manager, cron-like PHP implementation with ability to run task in seconds (unlike cron in minutes)

Requires
--------

[](#requires)

- MySQL tables

```
CREATE TABLE tasks (
    task_id       BIGINT(20)   UNSIGNED          AUTO_INCREMENT,
    recu_id       INT(10)      UNSIGNED NOT NULL DEFAULT 0,
    identifier    VARCHAR(255)          NOT NULL DEFAULT '',
    task          VARCHAR(255)          NOT NULL DEFAULT '',
    data          TEXT,
    request_uuid  CHAR(36)              NOT NULL DEFAULT '',
    status        TINYINT(3)   UNSIGNED NOT NULL DEFAULT 0,
    priority      TINYINT(3)   UNSIGNED NOT NULL DEFAULT 0,
    ts_created    INT(10)      UNSIGNED NOT NULL DEFAULT 0,
    ts_started    INT(10)      UNSIGNED NOT NULL DEFAULT 0,
    exec_time     FLOAT(10,6)  UNSIGNED NOT NULL DEFAULT 0.000000,
    started_count TINYINT(3)   UNSIGNED NOT NULL DEFAULT 0,
    PRIMARY KEY (task_id),
    KEY (recu_id),
    KEY (priority),
    KEY (status),
    KEY pending (status, ts_created),
    KEY started_count (started_count)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```

```
CREATE TABLE tasks_recurrings (
    recu_id   INT(10)      UNSIGNED          AUTO_INCREMENT,
    frequency VARCHAR(255)          NOT NULL DEFAULT '',
    task      VARCHAR(255)          NOT NULL DEFAULT '',
    data      TEXT,
    status    TINYINT(3)   UNSIGNED NOT NULL DEFAULT 0,
    priority  TINYINT(3)   UNSIGNED NOT NULL DEFAULT 0,
    PRIMARY KEY (recu_id),
    UNIQUE (task),
    KEY (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```

```
CREATE TABLE tasks_error_log (
    tel_id       INT(10)      UNSIGNED          AUTO_INCREMENT,
    task_id      BIGINT(20)   UNSIGNED NOT NULL DEFAULT 0,
    identifier   VARCHAR(255)          NOT NULL DEFAULT '',
    task         VARCHAR(255)          NOT NULL DEFAULT '',
    data         TEXT,
    ts_started   INT(10)      UNSIGNED NOT NULL DEFAULT 0,
    date_started DATETIME                      DEFAULT NULL,
    exec_time    FLOAT(10,6)  UNSIGNED NOT NULL DEFAULT 0.00,
    log          TEXT,
    PRIMARY KEY (tel_id),
    KEY (task_id),
    KEY (identifier),
    KEY (task),
    KEY (ts_started),
    KEY (date_started),
    KEY (exec_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```

```
CREATE TABLE `tasker_pool` (
   `hostname` varchar(255) NOT NULL DEFAULT '',
   `status` tinyint(3) unsigned NOT NULL DEFAULT '0',
   `ts_available` int(10) NOT NULL DEFAULT '0',
    PRIMARY KEY (`hostname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```

- Sample data

```
INSERT INTO tasks_recurrings
    (task, frequency, data, status)
VALUES
    ('Dummy\\Task\\Foo', '0 3-59/15 2,6-12 */15 1 2-5', '{\"foo\":123}', '1'),
    ('Dummy\\Task\\Bar', '0 */5 * * * *',               '{\"bar\":234}', '1'); # runs every 5 minutes
```

License
-------

[](#license)

(The MIT License) see LICENSE file for details...

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance71

Regular maintenance activity

Popularity38

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~36 days

Recently: every ~177 days

Total

122

Last Release

164d ago

Major Versions

0.16.1 → 1.0.02017-03-06

1.7.6 → 2.0.02018-08-10

PHP version history (5 changes)0.1.1PHP &gt;=5.4

0.1.2PHP &gt;=5.3

1.0.0PHP &gt;=5.5

2.6.0PHP &gt;=5.6

2.21.0PHP &gt;=7.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/12ceafbc629c3019d7cd78dfec322d694f44e0df8741bc6044f4acbf99964ff8?d=identicon)[g4code](/maintainers/g4code)

---

Top Contributors

[![ppavlovic](https://avatars.githubusercontent.com/u/2664974?v=4)](https://github.com/ppavlovic "ppavlovic (116 commits)")[![ivankoni](https://avatars.githubusercontent.com/u/570997?v=4)](https://github.com/ivankoni "ivankoni (45 commits)")[![dsamardzija](https://avatars.githubusercontent.com/u/366252?v=4)](https://github.com/dsamardzija "dsamardzija (40 commits)")[![gomboc](https://avatars.githubusercontent.com/u/1145653?v=4)](https://github.com/gomboc "gomboc (24 commits)")[![mirko-bukilic](https://avatars.githubusercontent.com/u/76707321?v=4)](https://github.com/mirko-bukilic "mirko-bukilic (16 commits)")[![sanjamedic](https://avatars.githubusercontent.com/u/13198949?v=4)](https://github.com/sanjamedic "sanjamedic (16 commits)")[![UrosPurtic](https://avatars.githubusercontent.com/u/52161020?v=4)](https://github.com/UrosPurtic "UrosPurtic (8 commits)")[![zeljkosbgd](https://avatars.githubusercontent.com/u/4016203?v=4)](https://github.com/zeljkosbgd "zeljkosbgd (5 commits)")[![vb-c-plicity](https://avatars.githubusercontent.com/u/101137972?v=4)](https://github.com/vb-c-plicity "vb-c-plicity (3 commits)")[![DarkGit](https://avatars.githubusercontent.com/u/10722199?v=4)](https://github.com/DarkGit "DarkGit (2 commits)")

---

Tags

asyncqueuecrontaskg4codeg4fw

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[jms/job-queue-bundle

Allows to run and schedule Symfony console commands as background jobs.

3462.3M5](/packages/jms-job-queue-bundle)[orisai/scheduler

Cron job scheduler - with locks, parallelism and more

4037.1k4](/packages/orisai-scheduler)[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308850.3k14](/packages/dereuromark-cakephp-queue)[clue/mq-react

Mini Queue, the lightweight in-memory message queue to concurrently do many (but not too many) things at once, built on top of ReactPHP

144691.7k4](/packages/clue-mq-react)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

53541.0k3](/packages/jolicode-castor)[tarantool/queue

PHP bindings for Tarantool Queue.

64136.2k4](/packages/tarantool-queue)

PHPackages © 2026

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