From b23f1b92d3719b594ef80d4a3f94961da3dcf7cf Mon Sep 17 00:00:00 2001 From: Dimitri Sitchet Tomkeu Date: Wed, 14 Oct 2026 21:25:46 +0100 Subject: [PATCH 1/2] feat: ajout des job au scheduler --- composer.json | 1 + src/Scheduler.php | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/composer.json b/composer.json index 0284f5c..70c2deb 100644 --- a/composer.json +++ b/composer.json @@ -25,6 +25,7 @@ "blitz-php/coding-standard": "^1.4", "blitz-php/framework": "^0.12", "blitz-php/http-client": "^0.0.2", + "blitz-php/queue": "^0.2.0", "kahlan/kahlan": "^6.0", "phpstan/phpstan": "^2.1" }, diff --git a/src/Scheduler.php b/src/Scheduler.php index 6b5ca4d..4b890f9 100644 --- a/src/Scheduler.php +++ b/src/Scheduler.php @@ -13,6 +13,9 @@ namespace BlitzPHP\Tasks; +use BlitzPHP\Contracts\Queue\ShouldQueue; +use BlitzPHP\Queue\Job; + /** * @credit CodeIgniter4 - CodeIgniter\Tasks\Scheduler */ @@ -85,6 +88,25 @@ public function url(string $url): Task return $this->createTask('url', $url); } + /** + * Planifie l'execution d'un job dans la file d'attente. + * + * @param class-string|Job $job + */ + public function job(string|object $job, ?string $queue = null, ?string $driver = null) + { + return $this->call(function () use ($job, $queue, $driver) { + /** @var Job $job */ + $job = is_string($job) ? service('container')->make($job) : $job; + + if ($job instanceof ShouldQueue) { + service('queue')->driver($driver ?? $job->driver ?? null)->pushOn($queue ?? $job->queue(), $job); + } else { + $job->execute(); + } + })->named(is_string($job) ? $job : get_class($job)); + } + /** * @param mixed $action * @param list $parameters Parameters eventuels a transmettre aux taches. From 04fd530c080d96bf704cf88a35e32d0b41cec150 Mon Sep 17 00:00:00 2001 From: dimtrovich <37987162+dimtrovich@users.noreply.github.com> Date: Wed, 14 Oct 2026 20:29:54 +0000 Subject: [PATCH 2/2] Fix styling --- src/Scheduler.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Scheduler.php b/src/Scheduler.php index 4b890f9..fe1928d 100644 --- a/src/Scheduler.php +++ b/src/Scheduler.php @@ -90,10 +90,10 @@ public function url(string $url): Task /** * Planifie l'execution d'un job dans la file d'attente. - * + * * @param class-string|Job $job */ - public function job(string|object $job, ?string $queue = null, ?string $driver = null) + public function job(object|string $job, ?string $queue = null, ?string $driver = null) { return $this->call(function () use ($job, $queue, $driver) { /** @var Job $job */ @@ -104,7 +104,7 @@ public function job(string|object $job, ?string $queue = null, ?string $driver = } else { $job->execute(); } - })->named(is_string($job) ? $job : get_class($job)); + })->named(is_string($job) ? $job : $job::class); } /**