LEMONADE Dokumentace

Dokumentace.

Patnáct kapitol od instalace a struktury projektu po CLI a produkční nasazení.

Kapitola 14 z 15

CLI a cron.

Stejné služby aplikace používejte z explicitně registrovaných příkazů a plánujte je systémovým cronem.

Vlastní command

Command implementuje CommandInterface, přijímá argumenty a vrací procesní exit code. Třída se vytvoří až při spuštění v samostatném Command scope.

ImportProductsCommand.php
<?php

use Lemonade\Framework\Cli\CommandInterface;

final class ImportProductsCommand implements CommandInterface
{
    public function name(): string { return 'products:import'; }

    public function description(): string { return 'Import products.'; }

    public function run(array $args): int
    {
        // Run the application operation and return a process exit code.
        return 0;
    }
}

Pro vstup a výstup lze injektovat CommandInput, CommandOutput a CommandContext.

Registrace a plánování

Command registrujte jménem, třídou a popisem v Commands.yaml. Spouštějte jej přes vendor/bin/lemonade; plánování zajišťuje cron nebo supervisor.

app/Config/Commands.yaml
module: commands
config:
  commands:
    - name: products:import
      class: App\Console\ImportProductsCommand
      description: Import products from the configured source.

# cron: */15 * * * * cd /var/www/app && vendor/bin/lemonade products:import

Lemonade neposkytuje vlastní scheduler. Frameworkové příkazy pokrývají například migrace, queue workery a generování sitemap.

Podrobná technická dokumentace na GitHubu