PHPackages                             horat1us/yii2-scheduling - 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. horat1us/yii2-scheduling

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

horat1us/yii2-scheduling
========================

Yii2 Scheduling

1.0.2(6mo ago)017MITPHPCI passing

Since Nov 4Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/Horat1us/yii2-scheduling)[ Packagist](https://packagist.org/packages/horat1us/yii2-scheduling)[ RSS](/packages/horat1us-yii2-scheduling/feed)WikiDiscussions master Synced 1mo ago

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

Yii2 Scheduling Package
=======================

[](#yii2-scheduling-package)

[![CI](https://github.com/horat1us/yii2-scheduling/workflows/CI/badge.svg)](https://github.com/horat1us/yii2-scheduling/actions)[![codecov](https://camo.githubusercontent.com/72fba6ff2645b1d37f5c19e98fd168c01c9b0bd30c55b082c8706bc6469e47f5/68747470733a2f2f636f6465636f762e696f2f67682f686f7261743175732f796969322d7363686564756c696e672f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/horat1us/yii2-scheduling)[![PHP Version](https://camo.githubusercontent.com/6e44ad49e5307c87d1393389feb52ab61c99956e2e5f8c77177b2501f1d3d47f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e342d3838393242462e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

A modern, flexible task scheduling library for Yii2 applications using PHP 8.4+ features.

Features
--------

[](#features)

- **Provider Pattern**: Lazy-load tasks only when scheduling is triggered
- **Multiple Commands**: Tasks can execute multiple commands in parallel
- **Flexible Filters**: Cron expressions, fixed datetime, custom closures, environment checks
- **Event-Driven**: Task lifecycle events with built-in logging behavior
- **SOLID Design**: Separated concerns with services, plain data objects, and dependency injection
- **Modern PHP**: Readonly classes, constructor property promotion, typed properties

Requirements
------------

[](#requirements)

- PHP 8.4+
- Yii2 2.0.52+
- nesbot/carbon ^3.8.4
- symfony/process ^6.0 || ^7.0
- dragonmantank/cron-expression ^3.6

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

[](#installation)

```
composer require horat1us/yii2-scheduling
```

Configuration
-------------

[](#configuration)

### 1. Bootstrap the Package

[](#1-bootstrap-the-package)

Add the bootstrap class to your console application configuration:

```
// config/console.php
return [
    'bootstrap' => [
        Horat1us\Yii\Schedule\Bootstrap::class,
    ],
    // ... other config
];
```

### 2. Configure Tasks

[](#2-configure-tasks)

Create a bootstrap class in your application to configure scheduled tasks:

```
