PHPackages                             mateuscoimbra/scheduler-run-yii2 - 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. mateuscoimbra/scheduler-run-yii2

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

mateuscoimbra/scheduler-run-yii2
================================

A Laravel-like scheduler for Yii2 framework.

00PHP

Since Aug 1Pushed 11mo agoCompare

[ Source](https://github.com/mateuscoimbra/scheduler-run-yii2)[ Packagist](https://packagist.org/packages/mateuscoimbra/scheduler-run-yii2)[ RSS](/packages/mateuscoimbra-scheduler-run-yii2/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

scheduler-run-yii2
==================

[](#scheduler-run-yii2)

Uma biblioteca de agendamento de tarefas simples e poderosa para o Yii2, inspirada no Laravel Scheduler.

Instalação
----------

[](#instalação)

A forma mais fácil de instalar a biblioteca é usando o Composer.

```
composer require mateuscoimbra/scheduler-run-yii2
```

Configuração
------------

[](#configuração)

Após a instalação, você precisa configurar o componente e o controller na sua aplicação console do Yii2.

1. Abra o arquivo de configuração de console da sua aplicação (geralmente em `config/console.php`).
2. Adicione a seguinte configuração ao array de `components`:

    ```
    'components' => [
        // ... outros componentes
        'scheduler' => [
            'class' => \mateuscoimbra\SchedulerRunYii2\components\Scheduler::class,
            'schedule' => function (\mateuscoimbra\SchedulerRunYii2\schedule\Schedule $schedule) {
                // Defina suas tarefas aqui!
            }
        ],
    ],
    ```
3. Adicione o controller do scheduler ao array de `controllerMap`:

    ```
    'controllerMap' => [
        'schedule' => \mateuscoimbra\SchedulerRunYii2\console\controllers\ScheduleController::class,
    ],
    ```

Definindo Tarefas
-----------------

[](#definindo-tarefas)

Dentro da função `schedule` que você acabou de configurar, você pode agendar comandos de console, comandos do sistema e funções anônimas.

### 1. Comandos de Console do Yii2

[](#1-comandos-de-console-do-yii2)

Use o método `command()` para agendar comandos de console do seu projeto.

```
$schedule->command('migrate')->daily();
```

### 2. Comandos do Sistema

[](#2-comandos-do-sistema)

Use o método `exec()` para agendar qualquer comando do sistema operacional.

```
$schedule->exec('php /var/www/seu-projeto/yii queue/work')->everyMinute();
```

### 3. Funções Anônimas (Closures)

[](#3-funções-anônimas-closures)

Use o método `call()` para agendar uma função anônima com qualquer lógica PHP.

```
$schedule->call(function () {
    Yii::info('Esta tarefa foi executada!');
})->hourly();
```

Frequências de Agendamento
--------------------------

[](#frequências-de-agendamento)

Você pode usar os métodos de frequência para definir o horário de execução.

- `everyMinute()`: Executa a cada minuto.
- `hourly()`: Executa no minuto zero de cada hora.
- `daily()`: Executa à meia-noite (00:00).
- `cron('* * * * *')`: Define uma expressão cron personalizada.

Configurando o Cron Job
-----------------------

[](#configurando-o-cron-job)

Para que o agendador funcione, você precisa configurar um cron job no seu servidor para executar o comando `schedule/run` a cada minuto.

1. Abra o crontab do seu servidor com o comando:

    ```
    crontab -e
    ```
2. Adicione a seguinte linha ao final do arquivo, ajustando o caminho para o seu projeto:

    ```
    * * * * * /usr/bin/php /caminho/para/o/seu/projeto/yii schedule/run --interactive=0 1>> /dev/null 2>&1
    ```

> **Atenção:**
>
> - Substitua `/usr/bin/php` pelo caminho completo do seu binário PHP.
> - Substitua `/caminho/para/o/seu/projeto` pelo caminho absoluto para o diretório raiz do seu projeto Yii2.
> - O `--interactive=0` evita que o comando pare para pedir confirmações.
> - O `1>> /dev/null 2>&1` redireciona a saída e os erros para o "nada", evitando a criação de logs de cron indesejados.

Contribuições
-------------

[](#contribuições)

Sinta-se à vontade para contribuir! Abra uma issue ou um pull request no nosso repositório.

```

---

Essa estrutura e documentação, tem uma base sólida para um projeto open-source que, com certeza, será muito útil para a comunidade Yii2! Salve yii2.

```

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8915491?v=4)[Mateus Coimbra](/maintainers/mateuscoimbra)[@mateuscoimbra](https://github.com/mateuscoimbra)

---

Top Contributors

[![mateuscoimbra](https://avatars.githubusercontent.com/u/8915491?v=4)](https://github.com/mateuscoimbra "mateuscoimbra (7 commits)")

### Embed Badge

![Health badge](/badges/mateuscoimbra-scheduler-run-yii2/health.svg)

```
[![Health](https://phpackages.com/badges/mateuscoimbra-scheduler-run-yii2/health.svg)](https://phpackages.com/packages/mateuscoimbra-scheduler-run-yii2)
```

###  Alternatives

[spatie/laravel-directory-cleanup

This package will remove the expired files from the given directories.

3061.5M7](/packages/spatie-laravel-directory-cleanup)

PHPackages © 2026

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