Skip to main content
All posts
· 5 min read

thenping.me Is Dead. Here's What Changed in the Monitoring Landscape

thenping.me was the go-to cron monitoring tool for Laravel developers. It was archived in January 2025. Here's what happened, what alternatives exist, and what's changed since.

If you ran Laravel apps and cared about your scheduled tasks, you probably used thenping.me. It was simple, Laravel-native, and exactly what the ecosystem needed - a dead-man’s-switch monitor that understood the Laravel scheduler instead of just pinging a URL and hoping for the best.

On January 6, 2025, the GitHub repository was archived. The product went read-only. No migration path, no announcement, no handoff. Just gone.

That left a real gap in the Laravel monitoring landscape - one that’s worth understanding before you assume your current setup covers it.

What thenping.me actually did

thenping.me worked by adding a ping to your scheduler using Laravel’s native after() callback:

$schedule->command('reports:generate')->daily()->thenPing('https://thenping.me/ping/your-token');

This was simple to the point of elegance. The ping arrived when the task finished. If it didn’t arrive within the expected window, thenping.me alerted you. No cron daemon polling. No HTTP health endpoints to maintain. Just a dead-man’s switch that fit naturally into the Laravel scheduler API.

It wasn’t full observability - you didn’t get exit codes, run durations, or per-task history dashboards. But for catching the “this task stopped running” failure mode, it was exactly right, and the Laravel community embraced it.

What went wrong

thenping.me was a small, focused product. It solved one problem well and didn’t try to expand. That focus is also what made it fragile: a single-person operation with no succession plan, no investor pressure to keep the lights on, and no commercial tier that might have justified a proper shutdown or acquisition.

The product didn’t fail dramatically. It just stopped. The last commits trickled out in mid-2024. The repository archived in January 2025. If you search for it today, you’ll still find Laravel News articles from 2020 recommending it to new developers - none of which mention that the service is gone.

Developers who built their monitoring around thenping.me discovered this the hard way: either through a missed alert that would have triggered, or by stumbling across the archived repo when investigating why their monitor hadn’t fired.

The alternatives that existed - and their gaps

When thenping.me went dark, the community pointed toward a handful of replacements.

Healthchecks.io became the most common recommendation. It’s open source, has a generous free tier, and supports dead-man’s-switch monitoring. The downside: it’s generic. It doesn’t understand Laravel’s scheduler, doesn’t capture exit codes or durations, and doesn’t know which tasks should have run versus which ones did. You set up one ping per task manually, and you get one bit of information: pinged or didn’t.

Cronitor and Better Uptime occupy the same space - URL-based heartbeat monitors with more polish. Useful, but not Laravel-native. You’re still writing ->thenPing() calls per task, managing external tokens, and losing all the rich execution context Laravel exposes.

Spatie’s laravel-schedule-monitor is the closest thing to a proper replacement for the tracking side. It hooks into Laravel’s scheduler events and records execution history locally. But it’s self-hosted storage with no alerting layer - you get the data, but getting notified when something goes wrong is your problem to solve.

None of these handle multi-application setups cleanly. If you run three Laravel apps across two environments, you’re setting up separate accounts or workspaces in each tool and context-switching between them when something goes wrong.

What’s changed in the monitoring landscape

The biggest shift since thenping.me closed isn’t in the tools themselves - it’s in the scope of what “cron monitoring” needs to cover.

In 2020, most Laravel shops ran one or two apps. Monitoring a handful of cron tasks with a simple ping was fine. Today, teams are running microservices, multi-tenant SaaS platforms, and staging environments alongside production - with scheduled tasks in each one. The single-app, single-environment assumption that made thenping.me’s simplicity a feature now makes that approach feel incomplete.

There’s also the rise of AI agent tooling. Teams are starting to use AI assistants to query observability data, investigate incidents, and surface anomalies. A monitoring tool that doesn’t expose an API or integration surface for AI tools is going to feel increasingly limited.

Where Crontinel fits

Crontinel launched in 2026 to fill the gap thenping.me left - and to address what the landscape needs now, not what it needed five years ago.

The Laravel integration is two commands:

composer require crontinel/laravel
php artisan crontinel:install

That’s it. No ->thenPing() calls to add per task. Crontinel hooks into Laravel’s scheduler events automatically and starts recording every task: when it started, when it finished, how long it took, what exit code it returned, and whether it was expected to run at that time.

Multi-app support is first-class. You connect multiple Laravel apps, Node services, Python workers, or anything running on a schedule - all in one dashboard. Each app gets its own monitors, but you manage everything from one place and get unified alerting.

SDK coverage includes Laravel, Node.js, Python, Ruby, Go, .NET, and PHP. If you’re running a polyglot stack - a Laravel API alongside a Python data pipeline and a Go background worker - you monitor all of it through one service without switching tools.

Status pages are built in. You can create a public-facing status page that reflects the health of your scheduled jobs and services, without wiring up a separate status page service.

MCP server for AI agents. Crontinel ships with an MCP (Model Context Protocol) server, which means your AI assistant - whether that’s Claude, a Cursor workflow, or a custom agent - can query your cron monitoring data directly. Ask it what failed last night, whether your billing job ran successfully, or why response times spiked at 3am. Your monitoring data becomes something you can have a conversation about.

Self-hosting and SaaS both available. If your compliance requirements or architecture mean you can’t send execution data to an external service, Crontinel can be self-hosted. If you’d rather not operate the infrastructure, the SaaS version handles it for you - the core monitoring engine is the same either way, and SaaS adds team collaboration, longer history retention, and a multi-app overview on top.

The free tier covers one app with 7-day history, no credit card required.


The monitoring landscape after thenping.me isn’t worse - it’s more capable. But it requires choosing tools that match the actual complexity of modern Laravel deployments, not the simpler setups of five years ago.

If you are specifically comparing open source, self hosted, and free cron monitoring options, see Open Source, Self Hosted, and Free Cron Monitoring for Laravel Teams.

Ready to monitor your cron jobs? Get started free at crontinel.com.

See also

vs
Crontinel vs thenping.me: The Active Laravel Monitoring Alternative

thenping.me was the best Laravel-native cron monitoring tool. It was archived in January 2025. Crontinel is the actively maintained replacement - same Laravel-native approach, plus Horizon and queue monitoring.

blog
Better Stack Killed Cron Monitoring (April 2026). Here's the Replacement.

Better Stack silently removed cron monitoring in April 2026. If your scheduler heartbeats stopped working overnight, here's what happened — and the free replacement that works today.

blog
Laravel Horizon Shows Running But Jobs Aren't Processing

Horizon's status dashboard says everything is fine. Jobs are silently piling up. Here's why that happens and how to actually detect a dead supervisor.

blog
Laravel Nightwatch Monitoring: What It Does, What It Misses

A practical look at Laravel Nightwatch, the framework's official APM tool: what it tracks for requests, jobs, and the scheduler, how its agent works, and where the blind spots are for teams that need dead-man's-switch style monitoring.