Repository navigation
Conversation
added 2 commits
September 21, 2026 23:37
…work commands
Organizes 33 built-in commands into groups for php webfiori help display:
- setup: add:db-connection, add:smtp-connection, add:lang
- create: create:command/entity/middleware/migration/repository/
resource/seeder/service/table/task
- migrations: migrations:run/dry-run/fresh/ini/rollback/skip/status/step
- queue: queue:work/status/retry
- scheduler: scheduler/scheduler:run/scheduler:daemon
- routes: routes:cache/routes:clear
- services: services:list
- app: up/down/v
#[SingleInstance] on commands where concurrent execution causes corruption:
migrations:run/fresh/rollback/step, queue:work/retry, scheduler/daemon/run.
Also corrects UpCommand and DownCommand from Group('maintenance') to Group('app').
Groups changed: add: -> setup:, maintenance: -> app: (also moved v: from other: to app:), scheduler: command order corrected. All 3 tests pass.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #416 +/- ##
============================================
- Coverage 82.67% 82.42% -0.26%
- Complexity 3258 3265 +7
============================================
Files 106 106
Lines 9623 9654 +31
============================================
+ Hits 7956 7957 +1
- Misses 1667 1697 +30
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
added 3 commits
September 22, 2026 00:02
… handler In queue:work, registers an error callback via QueueFacade::setOnError() that forwards every caught job Throwable (terminal and retry) to the framework's globally registered error handler (webfiori/err Handler). Background job failures are now visible in the same centralized error channel as HTTP/CLI errors.
After initializing the file logger in App::__construct(), registers Handler::setDefaultLogCallback([LoggerFacade::class, 'log']) so that all webfiori/err diagnostics (loop protection, handler failures, secureLog() calls from custom handlers) are written to the same log channel as the rest of the application. The callback signature fn(string $level, string $message, array $context) matches LoggerFacade::log() exactly — no adapter needed.
Enhances queue:status to display a detailed table of pending jobs (ID, priority, attempts, available-at) when the storage backend implements ListableQueueStorage. Falls back gracefully to count-only output with a note when the backend does not support listing (catches LogicException).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Organizes all 33 framework built-in CLI commands into logical groups using the
#[Group]attribute fromwebfiori/cli2.2. Marks 9 destructive/concurrent-unsafe commands with#[SingleInstance].Changes
Groups added (setup, create, migrations, queue, scheduler, routes, services, app):
All 33 command classes now carry
#[Group('name')]for clean help output.#[SingleInstance]added to:migrations:run,fresh,rollback,step,queue:work,queue:retry,scheduler,scheduler:daemon,scheduler:run— commands where concurrent execution causes corruption or undefined behavior.Corrected:
UpCommandandDownCommandmoved frommaintenancetoappgroup.HelpCommandTestupdated to reflect new grouped output.Before / After
Before: flat alphabetical list under auto-detected colon-prefix groups (add:, create:, etc.)
After: intentional groups (setup, app, etc.) with SingleInstance guards on dangerous commands.
Checklist