croustibat/filament-jobs-monitor
tenantId property).queue_monitors table (published via migrations). No external services (e.g., Redis) are required for core functionality.| Risk Area | Assessment | Mitigation Strategy |
|---|---|---|
| Filament Version Lock | Tied to Filament v2–v5. Upgrade path may require manual adjustments (e.g., v3→v4 breaking changes). | Test in a staging environment; use composer require with version constraints. |
| Multi-tenancy Complexity | Tenant ID extraction via payload inspection fails silently if jobs lack tenantId. |
Enforce job class standards via CI checks or documentation. |
| Performance at Scale | No built-in pruning for old jobs (though configurable). Large queues may bloat the DB. | Enable pruning.enabled and monitor queue_monitors table growth. |
| Customization Limits | Plugin configuration is closed (e.g., no easy way to override table columns). | Extend the model or use Filament’s resource overrides. |
| Job Payload Corruption | If jobs use non-serializable data (e.g., closures), monitoring may fail. | Validate jobs during development; avoid non-serializable payloads. |
tenantId property?tenantId to all jobs)?| Step | Action | Notes |
|---|---|---|
| 1. Pre-Installation | Audit Filament version and PHP compatibility. | Use the version matrix to select the correct package version. |
| 2. Composer Install | composer require croustibat/filament-jobs-monitor |
Pin to a specific version (e.g., ^4.4 for Filament v5). |
| 3. Publish Assets | Run migrations and config: php artisan vendor:publish --tag="filament-jobs-monitor-migrations" |
Back up the queue_monitors table if it exists. |
| 4. Configure Queues | Define queues in config/filament-jobs-monitor.php. |
Explicitly list all queues to monitor (e.g., ['default', 'emails', 'reports']). |
| 5. Multi-tenancy Setup | If needed: | |
- Publish config: php artisan vendor:publish --tag="filament-jobs-monitor-config" |
||
- Enable tenancy and set model/column. |
||
- Add tenantId to job classes. |
||
| 6. Plugin Registration | Register the plugin in AdminPanelProvider.php: |
Use FilamentJobsMonitorPlugin::make()->enableNavigation() for visibility. |
| 7. Testing | Dispatch test jobs and verify: | |
- Jobs appear in /admin/queue-monitors. |
||
| - Tenant filtering works (if enabled). | ||
| - Failed jobs show exceptions. | ||
| 8. Customization | Extend the model or override resources if needed. | Example: php artisan make:model MyQueueMonitor to add custom methods. |
form(Schema $schema) instead of form(Form $form)).Filament\Actions instead of Filament\Tables\Actions).tenant_id post-install).php artisan config:clear if changes don’t apply.composer require croustibat/filament-jobs-monitor:^4.4 --with-all-dependencies
| Issue | Solution |
|---|---|
| Jobs not appearing | Verify queues are listed in config. Check job payload serialization. |
| Tenant filtering broken | Ensure jobs include tenantId and config is enabled. |
| "Details" action crashes | Update to v4.4.1+ (fixes exception_message null error). |
| Slow UI performance | Add indexes to queue_monitors table (e.g., tenant_id, queue, failed_at). |
How can I help you explore Laravel packages today?