PHPackages                             therezor/laravel-transactional-jobs - 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. therezor/laravel-transactional-jobs

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

therezor/laravel-transactional-jobs
===================================

Submit laravel jobs inside transaction. Cancel job after rollback. Proceed after successful commit.

1.1.6(1y ago)44449.4k↑27.8%9MITPHPPHP ^7.1|^8.0CI failing

Since Feb 26Pushed 1y ago2 watchersCompare

[ Source](https://github.com/therezor/laravel-transactional-jobs)[ Packagist](https://packagist.org/packages/therezor/laravel-transactional-jobs)[ RSS](/packages/therezor-laravel-transactional-jobs/feed)WikiDiscussions master Synced 1mo ago

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

Laravel transactional jobs
==========================

[](#laravel-transactional-jobs)

Note

Laravel 10 and newer versions natively support [transactional job handling](https://laravel.com/docs/events#dispatching-events-after-database-transactions) without the need for this package.

#### Problem:

[](#problem)

[![](img/laravel_schema.jpeg)](img/laravel_schema.jpeg)

#### Solution:

[](#solution)

[![](img/package_schema.jpeg)](img/package_schema.jpeg)

By using this package you easily dispatch jobs inside transactions. Cancel job on transaction rollback. Add to queue on transaction committed.

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

[](#installation)

*This package requires PHP 7.1 and Laravel 5.8 or higher.**If you are on a PHP version below 7.1 or a Laravel version below 5.8 just use an older version of this package.*

1. Run `composer require therezor/laravel-transactional-jobs` in your laravel project root folder
2. Implement `TheRezor\TransactionalJobs\Contracts\RunAfterTransaction` to jobs that run in the middle of database transactions

```
