PHPackages                             cronitor/laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. cronitor/laravel

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

cronitor/laravel
================

Laravel integration for Cronitor scheduler provisioning and job telemetry

v0.1.0(6mo ago)10MITPHPPHP ^8.1CI passing

Since Feb 19Pushed yesterdayCompare

[ Source](https://github.com/cronitorio/cronitor-laravel)[ Packagist](https://packagist.org/packages/cronitor/laravel)[ RSS](/packages/cronitor-laravel/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (10)Versions (2)Used By (0)

Cronitor Laravel
================

[](#cronitor-laravel)

Laravel integration for Cronitor scheduler provisioning and runtime telemetry.

Installation
------------

[](#installation)

```
composer require cronitor/laravel
```

Publish config:

```
php artisan vendor:publish --tag=cronitor-config
```

What it does
------------

[](#what-it-does)

1. Provisions monitors from Laravel scheduler definitions at deploy time.
2. Sends runtime telemetry for scheduled tasks (`run`, `complete`, `fail`).
3. Sends runtime telemetry for queue jobs (`run`, `complete`, `fail`).

Settings reference
------------------

[](#settings-reference)

```
// config/cronitor.php
return [
    'enabled' => env('CRONITOR_ENABLED', true),
    'api_key' => env('CRONITOR_API_KEY'),
    'api_version' => env('CRONITOR_API_VERSION'),
    'environment' => env('CRONITOR_ENVIRONMENT'),

    'monitor_defaults' => [],
    'ignored_jobs' => [],
    'ignored_tasks' => [],
];
```

`enabled`

- Type: `bool`
- Default: `true` (`CRONITOR_ENABLED`)
- Global on/off switch for the package.

`api_key`

- Type: `string`
- Default: `null` (`CRONITOR_API_KEY`)
- Required for `cronitor:sync` and runtime telemetry pings.

`api_version`

- Type: `string|null`
- Default: `null` (`CRONITOR_API_VERSION`)
- Optional API version passed to the Cronitor client.

`environment`

- Type: `string|null`
- Default: `null` (`CRONITOR_ENVIRONMENT`)
- Optional environment tag passed to the Cronitor client.

`monitor_defaults`

- Type: `array`
- Default: `[]`
- Default fields merged into every monitor created by `cronitor:sync`.
- Common fields:
    - `notify` (`string[]`) notification list keys.
    - `group` (`string`) Cronitor group key.
- Reserved fields are ignored from this block: `key`, `type`, `name`, `schedule`.

`ignored_jobs`

- Type: `string[]`
- Default: `[]`
- Skip queue telemetry for matching queue raw names or resolved keys.

`ignored_tasks`

- Type: `string[]`
- Default: `[]`
- Skip scheduler sync and scheduler telemetry for matching task summary or key.

Example:

```
'monitor_defaults' => [
    'notify' => ['devops-alerts'],
    'group' => 'platform-jobs',
],
```

Sync behavior
-------------

[](#sync-behavior)

Sync is a deploy-time operation. It creates/updates Cronitor monitors directly from `Schedule::events()` so they appear in the dashboard immediately, before first execution. The sync payload includes each task's monitor `key`, display `name`, and cron `schedule`.

Dry run:

```
php artisan cronitor:sync --dry-run
```

Apply sync:

```
php artisan cronitor:sync
```

Runtime telemetry behavior
--------------------------

[](#runtime-telemetry-behavior)

### Scheduler events

[](#scheduler-events)

- `ScheduledTaskStarting` -&gt; `run`
- `ScheduledTaskFinished` -&gt; `complete`
- `ScheduledTaskFailed` -&gt; `fail`

### Queue events

[](#queue-events)

- `JobProcessing` -&gt; `run`
- `JobProcessed` -&gt; `complete`
- `JobFailed` -&gt; `fail`

Deploy flow (recommended)
-------------------------

[](#deploy-flow-recommended)

1. Deploy code with `cronitor/laravel` installed.
2. Run `php artisan cronitor:sync` during deploy.
3. Start/continue scheduler and queue workers. Runtime telemetry updates provisioned monitors.

Docker testing
--------------

[](#docker-testing)

Run the package tests fully in Docker:

```
docker build -t cronitor-laravel-test .
docker run --rm cronitor-laravel-test
```

Custom queue key contract
-------------------------

[](#custom-queue-key-contract)

If your queued object implements `Cronitor\Laravel\Contracts\DefinesCronitorKey`, that key is used.

```
use Cronitor\Laravel\Contracts\DefinesCronitorKey;

class ShipOrder implements DefinesCronitorKey
{
    public function cronitorKey(): string
    {
        return 'ship-order';
    }
}
```

Additional docs
---------------

[](#additional-docs)

- `docs/architecture.md`
- `docs/rollout-checklist.md`

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance86

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

190d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/321daec1e1d545fec9cd44355ab5f8cc715008ba092925cfcb3686d61a2d7b8b?d=identicon)[cronitorio](/maintainers/cronitorio)

---

Top Contributors

[![shaneharter](https://avatars.githubusercontent.com/u/554211?v=4)](https://github.com/shaneharter "shaneharter (3 commits)")

---

Tags

schedulerlaravelmonitoringqueuecronitor

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/cronitor-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/cronitor-laravel/health.svg)](https://phpackages.com/packages/cronitor-laravel)
```

###  Alternatives

[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

265.2k](/packages/aedart-athenaeum)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k16.3M159](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9922.4M148](/packages/roots-acorn)[propaganistas/laravel-disposable-email

Disposable email validator

6023.2M7](/packages/propaganistas-laravel-disposable-email)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k99.8M362](/packages/laravel-horizon)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
