job-runner / symfony-console-adapter
Installs: 13 453
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 2
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- job-runner/job-runner: ^1.3
- symfony/console: ^5.0 || ^6.0 || ^7.0
Requires (Dev)
- doctrine/coding-standard: ^12.0
- phpunit/phpunit: ^10.5.20
- psalm/plugin-phpunit: ^0.19.0
- vimeo/psalm: ^5.23
This package is auto-updated.
Last update: 2024-10-28 23:05:41 UTC
README
This package provides a symfony/console adapter for JobRunner.
Installation
composer require job-runner/symfony-console-adapter
Usage
<?php declare(strict_types=1); use JobRunner\JobRunner\Job\CliJob; use JobRunner\JobRunner\Job\JobList; use JobRunner\JobRunner\CronJobRunner; use JobRunner\JobRunner\SymfonyConsole\SymfonyConsoleEventListener; use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\SingleCommandApplication; require 'vendor/autoload.php'; (new SingleCommandApplication()) ->setName('My Super Command') // Optional ->setVersion('1.0.0') // Optional ->addOption('bar', null, InputOption::VALUE_REQUIRED) ->setCode(function (InputInterface $input, OutputInterface $output) { $jobCollection = new JobList(); $jobCollection->push(new CliJob('php ' . __DIR__ . '/tutu.php', '* * * * *')); $jobCollection->push(new CliJob('php ' . __DIR__ . '/titi.php', '* * * * *', 'sample')); $jobCollection->push(new CliJob('php ' . __DIR__ . '/titi.php', '1 1 1 1 1', 'hehe')); $jobCollection->push(new CliJob('php ' . __DIR__ . '/arg.php', '* * * * *')); $section = $output->section(); CronJobRunner::create() ->withEventListener(new SymfonyConsoleEventListener($section, new Table($section))) ->run($jobCollection); }) ->run();