Simple PHP task scheduler

v0.1.5 2015-02-06 00:00 UTC

This package is not auto-updated.

Last update: 2022-11-26 06:46:56 UTC


Code Climate Test Coverage Downloads


This package contains a simple PHP cron task scheduler that helps you version control your cron jobs.


This library package requires PHP 5.4 or later and a linux operating system.


Installing via Composer

The recommended way to install php-scheduler is through Composer.

# Install Composer
curl -sS | php

Next, run the Composer command to install the latest version of php-scheduler:

composer.phar require pmill/php-scheduler

After installing, you need to require Composer's autoloader:

require 'vendor/autoload.php';

Once you've created your task list script (see Usage below) open a linux shell add the following line to crontab (crontab -e):

* * * * * php /path/to/your/task/list/script.php


The following example shows how to schedule a HelloDaily task (simple echo example) and a ShellMonday task (running a shell task example).

class HelloDailyTask extends \pmill\Scheduler\Task\Task
    public function run()
        $this->setOutput('Hello World');

class ShellMondayTask extends \pmill\Scheduler\Task\Shell
    protected $command = "echo Hello Monday";

$taskList = new \pmill\Scheduler\TaskList;

// Add task to run at 15:04 every day
$taskList->addTask((new HelloDailyTask)->setExpression('4 15 * * *'));

// Add task to run at 15:04 every Monday
$taskList->addTask((new ShellMondayTask)->setExpression('4 15 * * 1'));

$output = $taskList->getOutput();

Version History

0.1.5 (13/03/2019)

  • Resolve list of tasks due before running the tasks (thanks jhoughtelin)

0.1.4 (25/01/2018)

  • Removed nesbot/carbon dependency

0.1.3 (24/05/2015)

  • Added unit tests

0.1.2 (13/05/2015)

  • Fixed missing output bug

0.1.1 (06/02/2015)

  • Fixed incorrect paths

0.1.0 (06/02/2015)

  • First public release of php-scheduler


php-scheduler Copyright (c) 2015 pmill ( All rights reserved.