PHPackages                             rumd3x/php-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. rumd3x/php-scheduler

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

rumd3x/php-scheduler
====================

A simple solution for scheduling tasks in php.

1.1.2(7y ago)1521MITPHPPHP &gt;=7.0

Since Dec 2Pushed 7y agoCompare

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

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

php-scheduler
=============

[](#php-scheduler)

A simple solution for scheduling tasks in php.

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

[](#installation)

To install via composer just run

```
  composer require rumd3x/php-scheduler
```

Usage
-----

[](#usage)

This utility shall not be called more than once per minute without extra measures to prevent running the same task more than once. All other locks and multiple php instance handling are already built-in.

When a task runs it prints:

```
[d/m/Y H:i:s]: Job Default Started
[d/m/Y H:i:s]: Job Default Finished

```

Basic Usage:

```
use Rumd3x\Scheduler\Schedule;

Schedule::action(function() {
    // Your code here
})->cron('* * * * *')->run();
```

You can add a parameter to the closure to use the current Cron Expression Object.

```
use Cron\CronExpression;
use Rumd3x\Scheduler\Schedule;

Schedule::action(function(CronExpression $cron) {
    // Your code here
})->everyMinute()->run();
```

You can also give your Task a name so it prints the Task Name instead of "Default".

```
use Cron\CronExpression;
use Rumd3x\Scheduler\Schedule;

Schedule::action(function(CronExpression $cron) {
    // Your code here
})->setName('Test')->daily()->at('11:00')->run();

/* Prints:
    [d/m/Y H:i:s]: Job Test Started
    [d/m/Y H:i:s]: Job Test Finished
*/
```

There are also prettier built in methods to help scheduling tasks without having to make cron expressions.

```
->cron('* * * * *');	      // Run the task on a custom Cron schedule
->monthly();	              // Run the task every month
->monthly(13);	            // Run the task every 13th day of the month
->weekly()                  // Run the task every week
->weekly(1);	              // Run the task every Monday
->daily();                  // Run the task every Day
->hourly();                 // Run the task every Hour
->hourly(15);               // Run the task every Hour at minute 15
->everyThirtyMinutes();     // Run the task every Thirty Minutes
->everyFifteenMinutes();    // Run the task every Fifteen Minutes
->everyTenMinutes();        // Run the task every Ten Minutes
->everyFiveMinutes();       // Run the task every Five Minutes
->everyMinute();            // Run the task every Minute
```

There is also the "at" method that allows your to specify the time the task will be run for scheduler with intervals greater than or equal to one day.

```
->monthly()->at('12:00');	      // Run the task every month at 12:00
->weekly()->at('8:00')          // Run the task every week at 8:00
->daily()->at('9:00');          // Run the task every Day at 9:00
```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

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

Total

4

Last Release

2755d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/35540165?v=4)[edmur](/maintainers/edmur)[@Edmur](https://github.com/Edmur)

---

Top Contributors

[![rumd3x](https://avatars.githubusercontent.com/u/12579932?v=4)](https://github.com/rumd3x "rumd3x (8 commits)")

### Embed Badge

![Health badge](/badges/rumd3x-php-scheduler/health.svg)

```
[![Health](https://phpackages.com/badges/rumd3x-php-scheduler/health.svg)](https://phpackages.com/packages/rumd3x-php-scheduler)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M19.8k](/packages/laravel-framework)[illuminate/support

The Illuminate Support package.

630113.0M40.8k](/packages/illuminate-support)[pimcore/data-importer

Adds a comprehensive import functionality to Pimcore Datahub

46855.5k5](/packages/pimcore-data-importer)[flarum/core

Delightfully simple forum software.

201.4M2.3k](/packages/flarum-core)[oro/platform

Business Application Platform (BAP)

645143.5k114](/packages/oro-platform)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

54681.3k17](/packages/solspace-craft-freeform)

PHPackages © 2026

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