Weave 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

Laravel Laravel Package

thenpingme/laravel

Laravel package for monitoring scheduled tasks with thenping.me. It sends heartbeats for cron jobs and alerts you when tasks fail, run late, or don’t run at all, helping you catch broken schedules early.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Verdict up front — revised. The prior assessment rested on one load-bearing claim: upstream was archived and had no path forward. Release 3.6.0 falsifies that. The verdict moves from "not worth depending on unforked" to "conditionally adoptable, with vendor-liveness risk downgraded from blocker to watch item." The second-strongest claim — that we would inherit ownership of an unmaintained package — is no longer true today, but is also not retired: one release is evidence of activity, not of a maintenance program.

Architecture fit. Unchanged. thenpingme/laravel is a telemetry agent, not a feature library. It subscribes to the scheduler lifecycle events (ScheduledTaskStarting, ScheduledTaskFinished, ScheduledTaskFailed, ScheduledTaskSkipped) and emits HTTP heartbeats to the thenping.me SaaS, which alerts on absence of a ping rather than on an error. Install is composer require plus thenpingme:setup; thenpingme:sync enumerates Kernel::schedule() and registers tasks server-side. No schema, no hand-wired provider, no dashboard. Fits any Laravel app on the native scheduler; does nothing for anything else.

What 3.6.0 actually changes. Three things, one of which is a constraint on us:

  • Laravel 11 support. Closes the hard blocker identified previously. Note the framing in the release note — "overdue 😅" is the maintainer conceding the release lags framework GA. Expect a lag window at each future major rather than day-one support.
  • PHP floor raised to 8.2, tested on 8.3. This is a breaking constraint for the install base, not a feature. Any service on PHP 8.1 cannot take 3.6.0 and stays on 3.5.0, which is now off the maintained path. Our PHP matrix needs to be checked app-by-app before this is treated as a clean upgrade.
  • lorisleiva/cron-translator bumped to 0.3. A 0.x transitive dependency, i.e. semver-unstable by declaration. Worth reading that diff rather than trusting the minor version on the parent.

"Zero config" is still an install-time claim. Setup is trivial; steady state is not. Per-task expectations, grace periods, maintenance-window handling and registry hygiene remain work we own, in the vendor UI or in code we haven't written.

Integration feasibility. Low effort — days per app — now gated on four things instead of three: outbound HTTPS to the vendor, a named billing owner, our PHP floor at 8.2, and the still-unverified vendor continuity story below.

Technical risk.

  • Upstream liveness (downgraded, not cleared). 3.6.0 shipped with two new contributors and a framework bump, which is genuine positive signal. It is also exactly what a single revival burst looks like. A release does not prove a cadence, an archive flag is not disproven by a tagged commit (Composer installs fine from an archived repo), and volunteer contributors are not a support contract. This needs a 12-month commit-and-triage history, not one data point. (Flag: the source data behind the earlier "18 stars / 0 dependents / archived" characterisation was empty; that those figures were ever accurate should be re-verified rather than carried forward.)
  • Silent death of the monitor (still the highest-severity failure mode). A heartbeat tool that quietly stops monitoring is worse than no monitoring. Unchanged by this release.
  • Version lag at the next major. Laravel 12 / PHP 8.4 are unaddressed, and the pattern here suggests reactive rather than pre-GA support. Plan for a gap window; do not plan for day-one.
  • Vendor continuity. A small project with a small contributor pool and no published support policy. Better odds than a month ago, still not a name you'd put in a business-continuity document.
  • Data egress. Task names, cron expressions, durations, hostnames, environment labels and failure metadata cross the perimeter. Unchanged; still fails review on its own in regulated environments.
  • Implicit coupling. Binding to internal scheduler event shapes across Laravel majors. 3.6.0 is that maintenance work being done — good, but it confirms the drift is real and recurring.
  • Dispatch model. Still unverified whether pings are queued or synchronous. A synchronous call to a degraded API inside the scheduler loop remains a latency and blocking risk.
  • Upgrade-window risk (new). The PHP 8.2 floor splits the estate: upgraded apps on 3.6.0, laggards pinned to an unmaintained 3.5.0. That fork must be scheduled, not discovered.

Key questions. Is the repository actually unarchived, or was it never archived — and what does the 12-month commit, release and issue-triage history look like? Is the current maintainer set durable, or was 3.6.0 a drive-by? Is there a published support policy, EOL statement or Laravel 12 timeline? Does 3.6.0 change event subscriptions or ping payload shape in ways that affect 3.5.0→3.6.0 upgraders? What does the cron-translator 0.3 bump change? Which of our apps are below PHP 8.2, and what is their path? Is the SaaS still operating — status page and incident history? Who owns account, token and billing, and what happens to our data at sunset? What is the classification of every field leaving the app? What are the configured timeouts and retries, and can a vendor outage block task execution?

Integration Approach

Stack fit. Unchanged. High for the Laravel slice, zero elsewhere. If a meaningful fraction of services aren't Laravel, adopting a Laravel-specific agent also commits us to a second, redundant monitoring tool. The stronger play remains standardizing on a URL-ping contract (Healthchecks-style /ping/<uuid>, Pushgateway, OTLP) with thenping.me as one interchangeable backend behind it.

Migration path. Additive, no schema, no cutover, no backfill. The reverse path is still the thing to design before adoption: a ~50-line in-house listener on the same scheduler events posting the same ping is a credible replacement. 3.6.0 removes the urgency of building it first, but not the reason to.

Compatibility. Pin ^3.6, confirm PHP ≥ 8.2 in every target app, run the version matrix in CI, composer why-not on every Laravel major, and inspect the cron-translator 0.x bump. Fork-and-vendor shifts from precondition to contingency — keep the fork-readiness checklist, don't execute it yet.

Sequencing.

  1. Re-verify vendor state: archive flag lifted, 12-month commit/release/triage cadence, named maintainers, any support policy. This gate is cheaper now and still worth clearing before a pilot.
  2. Read the 3.5.0→3.6.0 diff for event-shape and payload changes; read the cron-translator 0.2→0.3 diff.
  3. Inventory PHP versions across target apps; schedule any 8.1→8.2 upgrades or accept a pinned-3.5.0 residual.
  4. Pilot on 2–3 non-critical apps for 30 days; instrument false-positive rate and ping volume.
  5. Land the internal ScheduledTaskMonitor abstraction with the package as one driver.
  6. Put thenpingme:sync in CI with a drift check so task coverage can't silently regress.
  7. Defer the fork-and-vendor decision, but re-evaluate at each Laravel major and at any 90-day window with zero upstream activity.
  8. Keep decommission triggers written down: SaaS sunset, false-positive rate above threshold, security review failure, two consecutive majors of silence.

Operational Impact

Maintenance. Materially reduced — the recurring cost previously assigned to us is, for now, being carried upstream. Realistic residual: 1–3 engineer-days per Laravel major for constraint patching and event-shape drift (this release is exactly that work, so the estimate is now empirically anchored), plus quarterly advisory triage and the PHP-floor upgrade itself. Keep the line item; it is a forecast of upstream latency, not of our labour.

Support. Upstream support exists again but is community/volunteer with no SLA; the SaaS relationship remains a separate contract with separate SLAs. We still need a named owner, a runbook for "why did alerting stop," and an escalation path. The difference from the prior assessment is that there is now someone to escalate to — which is a reason to establish contact early, before an incident.

Scaling. Unchanged. Per-app cost is trivial (a per-minute task is ~1,440 requests/day) but scales with tasks × environments, not applications. Watch vendor tier pricing and egress at that cardinality, and HTTP pool pressure if pings dispatch synchronously during heavy scheduler ticks. The binding constraint remains cognitive: hundreds of monitors without ownership metadata is noise, not observability.

Failure modes.

  • Monitor silently stops after an upgrade or token rotation — meta-monitor that alerts when a project emits no pings at all.
  • PHP 8.2 floor strands apps on 3.5.0; those installs are now unmaintained and will fail at the next Laravel major.
  • A future Laravel major ships before upstream supports it; the lag window is unbounded and lands mid-upgrade.
  • Upstream activity stops again — this time without an archive flag to warn us, so detect via cadence monitoring rather than repository metadata.
  • Vendor outage causes an alert storm, or scheduler latency if dispatch is inline.
  • Deploys, maintenance windows, scale-to-zero and queue drains generate false positives without maintenance-mode awareness and tuned grace periods.
  • Orphaned monitors after app decommission produce permanent red; needs a lifecycle process.
  • Token exposure via CI logs and build artifacts.
  • Supply chain: a 0.x transitive (cron-translator) can move under us; pin and review.

Ramp-up. Developer ramp-up stays near-zero — require, run setup, commit env. Organizational ramp-up remains the real cost: training on-call to distinguish "missed heartbeat" from "task failed," defining per-task expectations, and maintaining sync discipline. Budget ~2–3 hours per app for first setup plus alert tuning, ~15 minutes per app thereafter, and keep monitor definitions in the repo rather than as point-and-click state in the vendor UI so a future migration is a config change rather than a rebuild.

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.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator