PHPackages                             johnroyer/php-job-runner - 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. johnroyer/php-job-runner

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

johnroyer/php-job-runner
========================

v1.1.2(9y ago)218MITPHPPHP &gt;=5.6

Since May 12Pushed 6y ago1 watchersCompare

[ Source](https://github.com/johnroyer/php-job-runner)[ Packagist](https://packagist.org/packages/johnroyer/php-job-runner)[ RSS](/packages/johnroyer-php-job-runner/feed)WikiDiscussions master Synced 3mo ago

READMEChangelogDependencies (4)Versions (10)Used By (0)

php-job-runner [![Build Status](https://camo.githubusercontent.com/f9898a8a2d998f5354e3d67059ee7abefc10efca891e38ae3ffbb7db192c8bd3/68747470733a2f2f7472617669732d63692e6f72672f6a6f686e726f7965722f7068702d6a6f622d72756e6e65722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/johnroyer/php-job-runner)
======================================================================================================================================================================================================================================================================================================================

[](#php-job-runner--)

A simple tool to help you execute routine jobs.

Example
-------

[](#example)

Create a job extends from `AbstractJob`:

```
class Cleanner extends \JobRunner\AbstractJob
{
    private $jobId = 'clean-outdated-backup';
    private $runTime = '0 3 * * *';

    public function update(\SplSubject $runner)
    {
        // clean outdated backups
    }
}
```

Register your job to runner:

```
$runner = new JobRunner\Runner();

$runner->attach(new Cleanner);
$runner->attach(new SomeOtherJob);
// ...

$runner->notify();  // runner will notify job which should run at current time
```

trigger runner by Linux crontab:

```
$ crontab -e
*/1 * * * *        /usr/bin/php  /path/to/bin/runner.php 2>&1 >/dev/null   // check jobs every minutes
```

TODO
====

[](#todo)

there is something to improvent:

- job logger / notifier
- support jobs run only once in a week
- job which will block / conflict other jobs
- better time / routine descreption

License
=======

[](#license)

- MIT license

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

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

Total

7

Last Release

3323d ago

Major Versions

v0.9.1 → v1.0.02017-05-13

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/114491?v=4)[Zero Huang](/maintainers/johnroyer)[@johnroyer](https://github.com/johnroyer)

---

Top Contributors

[![johnroyer](https://avatars.githubusercontent.com/u/114491?v=4)](https://github.com/johnroyer "johnroyer (37 commits)")

---

Tags

cronphprunner

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/johnroyer-php-job-runner/health.svg)

```
[![Health](https://phpackages.com/badges/johnroyer-php-job-runner/health.svg)](https://phpackages.com/packages/johnroyer-php-job-runner)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.5M30](/packages/league-geotools)[illuminate/bus

The Illuminate Bus package.

6045.5M508](/packages/illuminate-bus)[hutnikau/job-scheduler

PHP job scheduler

7990.9k](/packages/hutnikau-job-scheduler)[kohkimakimoto/workerphp

A PHP micro job scheduler framework like cron.

1113.7k](/packages/kohkimakimoto-workerphp)[markup/job-queue-bundle

The Markup Job Queue bundle integrates with oldsound/rabbiitmq-bundle to provide automatic scheduling of recurring console command jobs

1759.6k](/packages/markup-job-queue-bundle)[gilbitron/sqsd

A replica of the AWS Elastic Beanstalk worker SQS daemon (sqsd) in PHP

332.6k](/packages/gilbitron-sqsd)

PHPackages © 2026

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