PHPackages                             dereuromark/cakephp-queue-scheduler - 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. dereuromark/cakephp-queue-scheduler

ActiveCakephp-plugin[Queues &amp; Workers](/categories/queues)

dereuromark/cakephp-queue-scheduler
===================================

A CakePHP plugin for scheduling recurring queue jobs with cron expressions

0.2.14(3mo ago)78.5k↓15.4%[2 issues](https://github.com/dereuromark/cakephp-queue-scheduler/issues)MITPHPPHP &gt;=8.2CI failing

Since Oct 26Pushed 2mo ago1 watchersCompare

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

READMEChangelog (10)Dependencies (9)Versions (22)Used By (0)

CakePHP QueueScheduler plugin
=============================

[](#cakephp-queuescheduler-plugin)

[![CI](https://github.com/dereuromark/cakephp-queue-scheduler/actions/workflows/ci.yml/badge.svg)](https://github.com/dereuromark/cakephp-queue-scheduler/actions/workflows/ci.yml)[![Coverage Status](https://camo.githubusercontent.com/5d1a89950f2e9afbbbe6746c2ff74ac8c781711adbba2a3fcc844d751a4e8657/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6465726575726f6d61726b2f63616b657068702d71756575652d7363686564756c65722f6d61737465722e737667)](https://codecov.io/github/dereuromark/cakephp-queue-scheduler/branch/master)[![Latest Stable Version](https://camo.githubusercontent.com/f61681eeddacfb736f56661d76cbd4b139955210de899fbcb1dc1a612838fa54/68747470733a2f2f706f7365722e707567782e6f72672f6465726575726f6d61726b2f63616b657068702d71756575652d7363686564756c65722f762f737461626c652e737667)](https://packagist.org/packages/dereuromark/cakephp-queue-scheduler)[![Minimum PHP Version](https://camo.githubusercontent.com/ec21f169d70b69344c67d6f18fa1a24d20476d2f0cd680e8c4a1534c22f34e5f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e322d3838393242462e737667)](https://php.net/)[![PHPStan](https://camo.githubusercontent.com/f60d96f7c2579690ab6dfa8918f777fe93a02a92301c661eb38a85861a92b780/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c253230382d627269676874677265656e2e7376673f7374796c653d666c6174)](https://phpstan.org/)[![License](https://camo.githubusercontent.com/30d03f2f6ee9ea214876dd40873c37397c5ca7419055d1b6bd707820ced67d46/68747470733a2f2f706f7365722e707567782e6f72672f6465726575726f6d61726b2f63616b657068702d71756575652d7363686564756c65722f6c6963656e73652e737667)](LICENSE)[![Total Downloads](https://camo.githubusercontent.com/f5dc2fd6ab66ddb4a0043ec1e5bfb35070086229545dbd814cd21a97cd337acb/68747470733a2f2f706f7365722e707567782e6f72672f6465726575726f6d61726b2f63616b657068702d71756575652d7363686564756c65722f642f746f74616c)](https://packagist.org/packages/dereuromark/cakephp-queue-scheduler)[![Coding Standards](https://camo.githubusercontent.com/dbabe22710e675cb88cd0b12196f1477e2376dea497332775692cf1359a75918/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f63732d5053522d2d322d2d522d79656c6c6f772e737667)](https://github.com/php-fig-rectified/fig-rectified-standards)

A scheduler addon for [Queue plugin](https://github.com/dereuromark/cakephp-queue).

This branch is for use with **CakePHP 5.1+**. For details see [version map](https://github.com/dereuromark/cakephp-queue-scheduler/wiki#cakephp-version-map).

Motivation
----------

[](#motivation)

A DB and queue based cronjob system does not require a sys-admin to manually modify the crontab file on a server. It also allows for easier multi-server (worker) environments.

Such a system provides easier input and "frequency" validation, as well as visual output of the schedule in the backend. For smaller projects it can also be ported more easily between systems (e.g. dev/stage/prod) using migrations instead of having to touch the server config.

Also logging and i18n customization can potentially be easier to get addressed this way.

Finally, with the Queue plugin integrating it can smoothly work alongside your existing Queue tasks. Any failed job (e.g. network issue, or email SMTP issue) can be automatically re-run x times as per config.

Further features:

- Concurrency handling: Decision in case a job is still running or failed in queue, if it will run now ones or just skip.
- The backend can provide buttons to also "trigger" any scheduled job manually where needed.
- Autocomplete or proposals based on available Cake commands or Queue tasks.

[![screenshot](docs/screenshot.png)](docs/screenshot.png)

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

[](#installation)

You can install this plugin into your CakePHP application using [composer](https://getcomposer.org).

```
composer require dereuromark/cakephp-queue-scheduler

```

Installation and Usage
----------------------

[](#installation-and-usage)

See [Documentation](docs/).

Credit where credit is due
--------------------------

[](#credit-where-credit-is-due)

This plugin is heavily inspired by [LordSimal Scheduler plugin](https://github.com/LordSimal/cakephp-scheduler)and [Laravel Task Scheduling Feature](https://laravel.com/docs/10.x/scheduling).

Use this Scheduler plugin if you prefer configuring them file-based and purely in crontab style.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance76

Regular maintenance activity

Popularity30

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

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

Every ~48 days

Recently: every ~35 days

Total

18

Last Release

108d ago

PHP version history (3 changes)0.1.0PHP &gt;=7.4

0.2.0PHP &gt;=8.1

0.2.14PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39854?v=4)[Mark Scherer](/maintainers/dereuromark)[@dereuromark](https://github.com/dereuromark)

---

Top Contributors

[![dereuromark](https://avatars.githubusercontent.com/u/39854?v=4)](https://github.com/dereuromark "dereuromark (124 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dereuromark-cakephp-queue-scheduler/health.svg)

```
[![Health](https://phpackages.com/badges/dereuromark-cakephp-queue-scheduler/health.svg)](https://phpackages.com/packages/dereuromark-cakephp-queue-scheduler)
```

###  Alternatives

[hellogerard/jobby

Manage all your cron jobs without modifying crontab. Handles locking, logging, error emails, and more.

1.1k1.6M14](/packages/hellogerard-jobby)[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308850.3k14](/packages/dereuromark-cakephp-queue)[contributte/scheduler

PHP job scheduler (cron) with locking

31835.3k1](/packages/contributte-scheduler)[okvpn/cron-bundle

Docker friendly Symfony cron bundle for handle scheduled tasks consistently, parallel or across a cluster, like Symfony Messenger

19498.7k1](/packages/okvpn-cron-bundle)[orisai/scheduler

Cron job scheduler - with locks, parallelism and more

4037.1k4](/packages/orisai-scheduler)[fotografde/cakephp-sms

SMS Plugin for CakePHP

1273.2k](/packages/fotografde-cakephp-sms)

PHPackages © 2026

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