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 6d 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 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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

Total

4

Last Release

2710d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3a9bb5384975b87cebcef2b7642e2b5b3b79d0a3be614fdcbbe008f5b6ca3c08?d=identicon)[edmur](/maintainers/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

[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[intervention/zodiac

Zodiac Sign Calculator

58191.7k](/packages/intervention-zodiac)[erlandmuchasaj/laravel-gzip

Gzip your responses.

40129.3k2](/packages/erlandmuchasaj-laravel-gzip)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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