Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Yammi Jobs Monitoring Laravel Laravel Package

romalytar/yammi-jobs-monitoring-laravel

Real-time queue monitoring & observability for Laravel. Dashboard for job runs, retries, failures, DLQ, stats, worker heartbeat, scheduled task outcomes, duration anomalies, and alerts (Slack/email/webhooks). Works with Redis, SQS, database, or sync—no extra infra.

View on GitHub
Deep Wiki
Context7
v2.3.0

Automatic data retention pruning across all monitor tables (job records, failure groups, scheduled runs, duration anomalies, worker heartbeats); duration baselines are kept. Auto-scheduled daily; toggle via jobs-monitor.retention.schedule.enabled. Retention default 180 days (min 7, max 1825), configurable from the Settings UI; worker heartbeats keep a separate, shorter retention (default 30). Dashboard general settings are now applied at runtime (DB value over config over default).

v2.2.3

Docs/metadata only — no code changes.

  • README: keyword-rich, self-describing intro (no comparisons) + descriptive image alt text.
  • composer.json: accurate feature-rich description, expanded keywords (Packagist tag pages), homepage + support links.

Makes Packagist's package page reflect the updated keywords and description on a tagged version.

v2.2.2

Fixed: the throughput chart showed "No data in the selected period" for apps whose timezone is ahead of UTC, even with jobs in the database. Buckets are now built in the application timezone (config('app.timezone'), UTC fallback) instead of hardcoded UTC.

Added: jobs-monitor.timezone config key (defaults to the app timezone) to control the chart's display zone. The chart now shows the active timezone next to the bucket size.

CI: ignore three EOL-Laravel security-advisory IDs so composer install on Composer 2.10 resolves the test matrix again.

Backward compatible — apps on UTC behave exactly as before; nothing breaks on upgrade.

v2.2.0

Failure fingerprinting — exceptions are automatically grouped by a stable fingerprint (class + stack trace). View, retry, and delete an entire group in one click.

Scheduled task monitoring — every scheduler run is tracked: time, duration, outcome, exception. Detects silent failures and missing runs.

Worker heartbeat — live worker state across all queues; alerts when a worker goes silent or a queue becomes under-provisioned.

Anomaly detection — statistical baselines per job class. Duration spikes and suspicious drops trigger alerts automatically.

PagerDuty, Opsgenie, Webhook — three new alert channels with HMAC signatures, deduplication, and resolve semantics. Five channels total alongside Slack and Email.

General Settings UI — 23 operational settings stored in the database, editable without a redeploy. Each setting shows its source: DB override, config value, or package default.

Background data transfer — moving data between DB connections runs as a queued job with a live progress banner.

Public facades + Facade Playground — YammiJobs, YammiJobsManage, YammiJobsSettings for programmatic access to all dashboard data. Interactive sandbox at /settings/playground.

Security audit — XSS hardening, destructive-action authorization, RequireMonitorAuth middleware, kebab menus everywhere, 168 new tests.

v2.1.1

hot fix migration

v2.1.0

Bulk DLQ operations — checkboxes on DLQ and Dashboard Failed Jobs, sticky action bar with Retry N / Delete N / Clear, plus a "Select all N matching" button that spans every page and honors current filters. Client chunks selections at 100 IDs per request, server enforces the same cap; progress bar and per-item errors in the modal. Retrying 1000+ jobs no longer risks blocking the request.

  • API bulk endpoints — POST/GET /api/jobs-monitor/dlq/bulk/{retry,delete,candidates} and GET /api/jobs-monitor/failures/bulk/candidates with the same filter params as /jobs.
  • Dashboard retry actions — inline Retry + Edit & retry buttons on every failed row in both the Failed Jobs block and the All Jobs block.
  • Alerts — domain layer + Slack and Mail channels + minute-by-minute scheduler + four built-in rules (critical failure, retry storm, high failure rate, DLQ growing).
  • Settings UI — toggle alerts, manage recipients, inline editor for built-in rules.
  • Time-series chart — processed/failed per bucket on the dashboard.
  • Auto-refresh — summary cards and chart refresh every 5s.
  • Branded checkbox as a reusable Blade partial, favicon added to the layout.
  • Config — jobs-monitor.bulk.max_ids_per_request (default 100) and jobs-monitor.bulk.candidate_limit (default 10000).
v2.0.0

What's new

  • Live dashboard — summary cards and time-series chart auto-refresh every 5s
  • Dark / light theme — one-click toggle, preference persisted
  • Settings UI — edit alerts, mail recipients and alert rules from the panel, no redeploy (DB > config > off)
  • Proactive alerts — Slack (Block Kit) + email on failure rate, failure category, job class failures or DLQ size; threshold aggregation + per-rule cooldown
  • DLQ edit-and-retry — open a JSON editor, fix the payload, re-dispatch on the queue
  • Failure classifier — every failure tagged transient / permanent / critical / unknown
  • Retry timeline — full attempt history on the job detail page
  • Stats page — top failing, slowest, per-class breakdown, failure / retry rates
  • Enhanced filters — status / queue / connection / failure category + search, active-filter chips
  • Retention commandphp artisan jobs-monitor:prune --days=N

API additions

  • GET /api/jobs-monitor/stats/summary — live counters (powers dashboard cards)
  • GET /api/jobs-monitor/stats/time-series — bucketed series (powers dashboard chart)
  • GET /api/jobs-monitor/settings — all settings in one payload
  • GET|PUT /api/jobs-monitor/settings/alerts + POST toggle, POST/DELETE recipients
  • GET|POST|PUT|DELETE /api/jobs-monitor/settings/alerts/rules — CRUD for user-managed rules
  • POST /api/jobs-monitor/settings/alerts/rules/built-in/{key}/toggle
v1.3.0

Failure classifier — automatic exception categorization (transient/permanent/critical/unknown), color-coded badges Prune commandphp artisan jobs-monitor:prune --days=N Enhanced filters — status, queue, connection, failure category dropdowns with removable chips Retry history — per-job attempt timeline; every retry preserved Stats page — aggregated metrics per job class + /api/stats/overview and /api/stats DLQ view — dead-letter page with manual retry (with optional payload edit), delete, authorization gate README refresh — human-toned rewrite, new screenshots

v1.2.0

Add Laravel 13 support. Package now works with Laravel 9, 10, 11, 12, 13.

v1.1.0

Add Laravel 12 support

v1.0.0

Initial release.

  • Blade dashboard with period filters, search, sorting, pagination
  • JSON API with the same capabilities
  • Job lifecycle tracking (processing, processed, failed)
  • Retry/attempt tracking
  • Payload storage with automatic redaction of sensitive data
  • Works with any Laravel queue driver (Redis, Database, SQS, Sync)
  • PHP 8.1+ / Laravel 9, 10, 11
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
codifyo/ts-generator-bundle
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor