PHPackages                             proklung/task-scheduler-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. [CLI &amp; Console](/categories/cli)
4. /
5. proklung/task-scheduler-bundle

ActiveSymfony-bundle[CLI &amp; Console](/categories/cli)

proklung/task-scheduler-bundle
==============================

A task scheduler for custom Symfony using CRON jobs porting that allows you to run tasks periodically

1.0.0(5y ago)15MITPHPPHP &gt;=7.3 | ^8.0

Since May 31Pushed 5y ago1 watchersCompare

[ Source](https://github.com/ProklUng/task.scheduler.bundle)[ Packagist](https://packagist.org/packages/proklung/task-scheduler-bundle)[ RSS](/packages/proklung-task-scheduler-bundle/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (7)Versions (2)Used By (0)

TaskSchedulerBundle
===================

[](#taskschedulerbundle)

Форк [пакета](https://github.com/rewieer/TaskSchedulerBundle). Доработано под личные нужды.

Установка
---------

[](#установка)

composer.json:

```
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/proklung/task.scheduler.bundle"
        }
    ]
```

```
composer require proklung/task-scheduler-bundle
```

Оригинальная документация
-------------------------

[](#оригинальная-документация)

Usage
-----

[](#usage)

First, add the following line to your *CRON* tabs : `* * * * * php /path/to/your/project/bin/console ts:run >> /dev/null 2>&1`

> This will call the scheduler, which will review all scheduled tasks and dispatch accordingly. You can call a task directly by providing it's **ID** as a parameter to the command. Note that this **ID** is generated by the scheduler and is in no way related to the service itself.

> The `>> /dev/null 2>&1` option discards the printed results of the tasks. Removing it allows to send it by email instead. This may vary so please refer to your server's configuration.

You then need to create a task. Tasks can be any service! You just have to give it the `ts.task` tag and implement `TaskInterface`, or for simplicity extend from `AbstractScheduledTask`.

### Every X Minutes

[](#every-x-minutes)

In `Foo\Bar\Task` to schedule a task **every 5 minutes**:

```
use Prokl\TaskSchedulerBundle\Task\AbstractScheduledTask;
use Prokl\TaskSchedulerBundle\Task\Schedule;

class Task extends AbstractScheduledTask {
  protected function initialize(Schedule $schedule) {
    $schedule
      ->everyMinutes(5); // Perform the task every 5 minutes
  }

  public function run() {
    // Do stuff
  }
}
```

Your task is now scheduled and will be called every 5 minutes.

### Every X Hours or Daily

[](#every-x-hours-or-daily)

if you are scheduling your task on an hourly or daily basis, you'll need to set `minutes()` in addition to `hours()`, `everyHours()`, or `daily()`. **If you omit `minutes()`, the task will run every minute on the scheduled hour(s).**

In `Foo\Bar\Task` to schedule a task **every 5 hours**:

```
use Prokl\TaskSchedulerBundle\Task\AbstractScheduledTask;
use Prokl\TaskSchedulerBundle\Task\Schedule;

class Task extends AbstractScheduledTask {
  protected function initialize(Schedule $schedule) {
    $schedule
      ->minutes(0)
      ->everyHours(5); // Perform the task every 5 hours on minute 0

    // Or if you want to perform your task at midnight every day
    // $schedule->minutes(0)->hours(0)->daily();

    // Or schedule your task to run once at 9AM daily (this is effectively the same as daily() above)
    // $schedule->minutes(0)->hours(9);
  }

  public function run() {
    // Do stuff
  }
}
```

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

1859d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9210c86ee6734e537eaf22c0f2fe7a965451e340e39e1aae2b74013f24c2660d?d=identicon)[gedovan](/maintainers/gedovan)

---

Top Contributors

[![ProklUng](https://avatars.githubusercontent.com/u/19857467?v=4)](https://github.com/ProklUng "ProklUng (3 commits)")

---

Tags

bitrix-symfonyphp7symfony-bundlewordpress-symfony

### Embed Badge

![Health badge](/badges/proklung-task-scheduler-bundle/health.svg)

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

PHPackages © 2026

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