PHPackages                             dealerinspire/laravel-operations - 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. dealerinspire/laravel-operations

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

dealerinspire/laravel-operations
================================

Operations allow you to schedule your jobs in a programmatic, database-driven way

v7.0.3(5y ago)3272MITPHPPHP ^7.2.5

Since Jul 12Pushed 5y ago1 watchersCompare

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

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

Laravel Operations
==================

[](#laravel-operations)

Operations allow you to schedule your jobs in a programmatic, database-driven way. By creating an operation record in your database and then calling the Operator to queue any operations that are ready to be run, you can schedule tasks for execution in the far future and keep track of every operation that has already been run.

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

[](#installation)

Install the package by requiring it with Composer.

```
composer require dealerinspire/laravel-operations
```

The service provider will get registered automatically, but you will need to publish the config file.

```
php artisan vendor:publish --provider="DealerInspire\Operations\OperationServiceProvider"
```

Usage
-----

[](#usage)

Here is an example of a very simple Operation:

```
class ExampleOperation extends Operation
{
    public function run()
    {
        // Logic goes in here to be executed when the operation is run.
    }
}
```

*If you would like to use dependency injection, you can add type-hinted parameters to your `run` function to be injected at runtime.*

Operations are Eloquent models, and can have whatever columns on them that you want. The only requirement is that they have three additional timestamp columns, `should_run_at`, `started_run_at`, and `finished_run_at`.

To make sure that the Operator knows about all of your operations you should add the classname to the `config\operations.php` file.

```
'operations' => [
    \App\Operations\ExampleOperation::class,
],
```

To put any operations that are ready to run into your job queue, you should call the Operator's `queue` function.

```
// Using the facade.

use DealerInspire\Operations\Facades\Operator;

// ...

Operator::queue();
```

```
// Using an Operator instance.

use DealerInspire\Operations\Operator;

// ...

$operator = new Operator();
$operator->queue();
```

Any operation that has a `should_run_at` timestamp which is in the past and has a null `started_run_at` value (and also hasn't been deleted) will be put into your job queue.

An operation's `started_run_at` timestamp will be set to the current time as soon as it is placed into your queue (not when the job actually begins getting processed by a worker). Once the operation has been run by a worker the `finished_run_at` timestamp will be set.

You can quickly create new operations (which will be placed in your `App\Operations` directory) by running the `make:operation`.

```
php artisan make:operation MyNewOperation
```

There is also a `--migration` flag that you can use to create a migration with the necessary timestamps.

Documentation
-------------

[](#documentation)

More in-depth information on best practices and how to use operations effectively.

- [Creating Your First Operation](/docs/first-operation.md)
- [How to Queue Operations](/docs/queueing.md)
- [Handling Failures Gracefully](/docs/failing.md)

Once you're familiar with using operations, check out some these docs on more advanced features.

- [Queue Hook Function](/docs/queue-hook.md)

License
-------

[](#license)

MIT © [Dealer Inspire](https://www.dealerinspire.com/)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity60

Established project with proven stability

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

Every ~49 days

Recently: every ~58 days

Total

11

Last Release

2007d ago

Major Versions

v0.1.0 → v5.8.12020-03-20

v5.8.1 → v6.0.12020-03-20

v6.0.1 → v7.0.12020-03-20

v5.8.2 → v6.0.22020-03-25

6.x-dev → v7.0.22020-03-25

PHP version history (3 changes)v0.1.0PHP ^7.1

v6.0.1PHP ^7.2

v7.0.1PHP ^7.2.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/03579410a73485564a5c4f54fbde84d55ae17fdd7d26fa96c3f178e10bf06a85?d=identicon)[DynamoGeek](/maintainers/DynamoGeek)

---

Tags

laraveljobsoperationslaravel-operations

### Embed Badge

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

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

###  Alternatives

[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

254255.2k6](/packages/croustibat-filament-jobs-monitor)[mpbarlow/laravel-queue-debouncer

A wrapper job for debouncing other queue jobs.

63714.4k1](/packages/mpbarlow-laravel-queue-debouncer)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

3786.5k](/packages/harris21-laravel-fuse)[convenia/pigeon

3233.0k](/packages/convenia-pigeon)[mateffy/laravel-job-progress

Track and show progress of your background jobs (for progress bar UIs etc.)

451.2k](/packages/mateffy-laravel-job-progress)[hpwebdeveloper/laravel-failed-jobs

UI for Laravel failed jobs.

183.1k](/packages/hpwebdeveloper-laravel-failed-jobs)

PHPackages © 2026

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