PHPackages                             zuqongtech/laravel-kronos - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. zuqongtech/laravel-kronos

ActiveLibrary[Queues &amp; Workers](/categories/queues)

zuqongtech/laravel-kronos
=========================

A reactive workflow orchestration and scheduling engine for Laravel — rule-driven, DAG-based, multi-node safe.

v1.0.0(yesterday)00MITPHPPHP ^8.2

Since Jun 8Pushed yesterdayCompare

[ Source](https://github.com/gideonzozingao/laravel-kronos)[ Packagist](https://packagist.org/packages/zuqongtech/laravel-kronos)[ RSS](/packages/zuqongtech-laravel-kronos/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependencies (11)Versions (2)Used By (0)

⏱ Laravel Kronos
================

[](#-laravel-kronos)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b198a2cbc369ee5188940cafc5285c18db6f3585b17abcd43a1561dbcf572a1f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7a75716f6e67746563682f6c61726176656c2d6b726f6e6f732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zuqongtech/laravel-kronos)[![Total Downloads](https://camo.githubusercontent.com/97833511aa8e07fc76c644be130d8e887b7a62188c0f1b9ff2d9bc364007923d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7a75716f6e67746563682f6c61726176656c2d6b726f6e6f732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zuqongtech/laravel-kronos)[![Tests](https://camo.githubusercontent.com/c80d5251f6e0831b4fe3aef2ffc0284d26c90f145f0a579407894ba9b6a265ce/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7a75716f6e67746563682f6c61726176656c2d6b726f6e6f732f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/zuqongtech/laravel-kronos/actions/workflows/tests.yml)[![PHPStan](https://camo.githubusercontent.com/89d99b8759e4297c82be861559f360b92217d17a1b6396a081387564166ed7a6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7a75716f6e67746563682f6c61726176656c2d6b726f6e6f732f7068707374616e2e796d6c3f6272616e63683d6d61696e266c6162656c3d7068707374616e267374796c653d666c61742d737175617265)](https://github.com/zuqongtech/laravel-kronos/actions)[![PHP Version](https://camo.githubusercontent.com/0137db7634f2bfb58931a1788223a4a9136100008a2ee84e758b20b9c6ec21a0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e322d626c75653f7374796c653d666c61742d737175617265)](https://php.net)[![Laravel Version](https://camo.githubusercontent.com/2369448a824338eb65ff21fc8e28cf038285cf42ec376b646c98c1ded5ab8f1f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d313125324225323025374325323031322532422d7265643f7374796c653d666c61742d737175617265)](https://laravel.com)[![License](https://camo.githubusercontent.com/defd928f617e357bbe4acf003d9f0c0a2d46a85be81f5ff79a57b35637c9a804/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7a75716f6e67746563682f6c61726176656c2d6b726f6e6f732e7376673f7374796c653d666c61742d737175617265)](LICENSE)

> **A reactive workflow orchestration and scheduling engine for Laravel.**
>
> Rule-driven. DAG-based. Multi-node safe.

Kronos bridges the gap between Laravel's built-in cron scheduler and a full workflow orchestration platform. It watches your Eloquent models, evaluates configurable rules, and reactively writes a canonical `kronos.yaml` / Redis configuration — then executes complex multi-step DAG workflows with branching, parallel execution, retries, shared context, and a full audit trail.

Think of it as **Laravel's scheduler meets Apache Airflow**, natively integrated with Eloquent, Horizon, and Filament.

---

Table of Contents
-----------------

[](#table-of-contents)

- [Why Kronos?](#why-kronos)
- [Requirements](#requirements)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Core Concepts](#core-concepts)
    - [Rule Engine](#rule-engine)
    - [Config Writer (YAML + Redis)](#config-writer-yaml--redis)
    - [Workflow Orchestration](#workflow-orchestration)
    - [DAG Resolution](#dag-resolution)
    - [Workflow Context](#workflow-context)
    - [Triggers](#triggers)
    - [Branching](#branching)
- [Building Steps](#building-steps)
- [Scheduled Tasks (Simple Cron)](#scheduled-tasks-simple-cron)
- [Multi-Node Deployments](#multi-node-deployments)
- [Filament UI](#filament-ui)
- [Webhook API](#webhook-api)
- [Artisan Commands](#artisan-commands)
- [Events](#events)
- [Configuration Reference](#configuration-reference)
- [Testing](#testing)
- [FAQ](#faq)
- [Changelog](#changelog)
- [Contributing](#contributing)
- [Security](#security)
- [License](#license)

---

Why Kronos?
-----------

[](#why-kronos)

Laravel's built-in scheduler is great for simple cron tasks but falls short when you need:

NeedLaravel SchedulerKronosDatabase-driven schedules❌ Hardcoded in code✅ DB + YAML + RedisMulti-step workflow DAGs❌✅Reactive DB-change triggers❌✅ Rule EngineStep dependency resolution❌✅ Kahn's AlgorithmParallel step execution❌✅Conditional branching❌✅Shared inter-step context❌✅Per-run audit trail❌✅Multi-node safe executionPartial (`onOneServer`)✅ Full distributed lockingAdmin UI❌✅ Filament v3 pluginVersion-controlled config❌✅ `kronos.yaml`---

Requirements
------------

[](#requirements)

DependencyVersionPHP`^8.2`Laravel`^11.0` or `^12.0`RedisAny (for locking + multi-node)Filament *(optional)*`^3.0`---

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

[](#installation)

Install via Composer:

```
composer require zuqongtech/laravel-kronos
```

Run the install command to publish config and run migrations:

```
php artisan kronos:install
```

This publishes `config/kronos.php`, runs the five Kronos migrations, and creates an empty `storage/kronos.yaml`.

**Manual publish (optional):**

```
php artisan vendor:publish --tag=kronos-config
php artisan vendor:publish --tag=kronos-migrations
php artisan migrate
```

---

Quick Start
-----------

[](#quick-start)

### 1. Register rules and workflows in a Service Provider

[](#1-register-rules-and-workflows-in-a-service-provider)

Create a dedicated provider or use your `AppServiceProvider`:

```
