PHPackages                             ii02735/cron-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. [CLI &amp; Console](/categories/cli)
4. /
5. ii02735/cron-scheduler

ActiveLibrary[CLI &amp; Console](/categories/cli)

ii02735/cron-scheduler
======================

cron-scheduler : permet de créer ses tâches CRON en PHP depuis un CLI

0571PHP

Since Jul 12Pushed 6y agoCompare

[ Source](https://github.com/ii02735/cron-cli-scheduler)[ Packagist](https://packagist.org/packages/ii02735/cron-scheduler)[ RSS](/packages/ii02735-cron-scheduler/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

Cron task scheduler
-------------------

[](#cron-task-scheduler)

That dependency allows you to define your cron tasks for bash instructions from a PHP CLI (made with symfony/console)

**Warning** : you must create a cron task that will run every minutes from Linux crontab

```
* * * * * php /vendor/ii02735/cron.php

```

### Installation

[](#installation)

Add the depedency to your project :

```
composer require ii02735/cron-scheduler

```

#### Configuration

[](#configuration)

You must create the **environment .cron-scheduler-env file somewhere in your project folder** with the following environment variables in order to fill database's crendentials for Doctrine :

- **DB\_DRIVER** with your database driver
- **DB\_NAME** with your database's name
- **DB\_HOST** with your database's DSN
- **DB\_USER** with the database's user
- **DB\_PASSWORD** with the user's password

#### Important

[](#important)

- Don't forget to also add **the Entity's path** in your Doctrine configuration in order to update your Database after with Doctrine's CLI.
- Don't also forget to provide your YAML file with your bash commands in **CRON\_BASE\_FILE** variable (refer to syntax below)
- You can specify the language interface in the **CRON\_SCHEDULER\_LANG** variable ("en" for English by default, "fr" for French).
- **You must be at the environment file's path in order to be able to use the package's dependency**

### Usage

[](#usage)

Three commands are available :

- To add a task :

```
php ./vendor/ii02735/console cron:scheduler:add

```

It will look the list of bash commands in the file that you provided its path in **CRON\_BASE\_FILE** variable. If you want to add more, please respect the syntax below :

```
: ...
  cmd:
  schedule:
  disable:  true  #(optional if you want to disable your task after its addition)
```

- To list the created tasks :

```
php ./vendor/ii02735/console cron:scheduler:list
```

- Options :
    - **-f**, **--filter=FILTER** Sort tasks from their status (on|off)
    - **-d**, **--del=DEL** Delete a task
    - **-t**, **--toggle=TOGGLE** Enable/disable a task
- Load a YAML file as tasks to be loaded :

```
php ./vendor/ii02735/console cron:scheduler:load
```

Thanks
------

[](#thanks)

- [*NoUseFreak* and his collaborators](https://github.com/Cron/Cron) for their PHP implementation for CRON jobs
- [*peppeocchi* and his collaborateurs](https://github.com/peppeocchi/php-cron-scheduler) for their advanced implementation for CRON jobs
- [*dragonmantank*](https://github.com/dragonmantank/cron-expression) for his CRON expression parser

Planificateur de tâches CRON
----------------------------

[](#planificateur-de-tâches-cron)

Cette dépendance vous permet de définir vos tâches CRON pour des instructions bash depuis une interface de commande en PHP.

**Attention** : Il vous est nécessaire de définir une tâche CRON qui s'exécutera toutes les minutes depuis Linux crontab

```
* * * * * php /vendor/ii02735/cron.php

```

### Installation

[](#installation-1)

Ajouter la dépendance à votre projet :

```
composer require ii02735/cron-scheduler

```

#### Configuration

[](#configuration-1)

Vous devez créer **le fichier d'environnement .cron-scheduler-env quelque part dans votre dossier de projet** avec les variables d'environnement suivantes afin de donner accès à Doctrine à votre base de données :

- **DB\_DRIVER** avec le driver de votre base de données
- **DB\_NAME** avec le nom de votre base de données
- **DB\_HOST** avec le DSN de votre base de données
- **DB\_USER** avec l'utilisateur de la base de données
- **DB\_PASSWORD** avec le mot de passe de ce dernier

#### Important

[](#important-1)

- N'oubliez pas de préciser **le chemin de l'entité** dans votre configuration de Doctrine afin de mettre à jour votre base de données avec le CLI de Doctrine
- N'oubliez pas de préciser le chemin du fichier YAML avec vos commandes bash dans la variable **CRON\_BASE\_FILE** (vérifier la syntaxe ci-dessous)
- Vous pouvez préciser la langue de l'interface dans la variable **CRON\_SCHEDULER\_LANG** ("en" pour l'anglais par défaut, "fr" pour le français).
- **Vous devez être au niveau du chemin du fichier d'environnement afin de pouvoir utiliser les commandes de la dépendance**

### Utilisation

[](#utilisation)

Trois commandes sont disponibles pour l'utilisation de la dépendance :

- Pour ajouter une tâche :

```
php ./vendor/ii02735/console cron:scheduler:add

```

La commande ira piocher la liste des instructions bash dans le fichier que vous avez précisé dans **CRON\_BASE\_FILE**Si vous souhaitez rajouter des instructions, veuillez respecter la syntaxe du fichier yml :

```
: ...
  cmd:
  schedule:
  disable:  true  #(optionnel si vous désactiver la commande lors de son ajout en tâche CRON)
```

- Pour lister les tâches :

```
php ./vendor/ii02735/console cron:scheduler:list
```

- Options :

    - **-f**, **--filter=FILTER** Trie les tâches selon leur état (on|off)
    - **-d**, **--del=DEL** Supprimer une tâche
    - **-t**, **--toggle=TOGGLE** Activer/désactiver une tâche
- Pour charger un fichier contenant des instructions bash :

```
php ./vendor/ii02735/console cron:scheduler:load
```

Remerciements
-------------

[](#remerciements)

- [*NoUseFreak* et ses collaborateurs](https://github.com/Cron/Cron) pour leur implémentation en PHP des tâches CRON
- [*peppeocchi* et ses collaborateurs](https://github.com/peppeocchi/php-cron-scheduler) pour leur implémentation avancée des tâches CRON
- [*dragonmantank*](https://github.com/dragonmantank/cron-expression) pour son parseur/analyseur d'expression CRON

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 95.3% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/16cb261c00955ba657ddf5bbb8af7a4e004af3e541d75a5596701b2d15015c45?d=identicon)[ii02735](/maintainers/ii02735)

---

Top Contributors

[![ii02735](https://avatars.githubusercontent.com/u/33719388?v=4)](https://github.com/ii02735 "ii02735 (41 commits)")[![ben-insign](https://avatars.githubusercontent.com/u/99903400?v=4)](https://github.com/ben-insign "ben-insign (2 commits)")

### Embed Badge

![Health badge](/badges/ii02735-cron-scheduler/health.svg)

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

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M319](/packages/wp-cli-wp-cli)[consolidation/annotated-command

Initialize Symfony Console commands from annotated command class methods.

22569.8M18](/packages/consolidation-annotated-command)[chi-teck/drupal-code-generator

Drupal code generator

26947.8M5](/packages/chi-teck-drupal-code-generator)[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24725.8M17](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)

PHPackages © 2026

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