therezor / laravel-transactional-jobs
Submit laravel jobs inside transaction. Cancel job after rollback. Proceed after successful commit.
Installs: 432 532
Dependents: 0
Suggesters: 0
Security: 0
Stars: 44
Watchers: 2
Forks: 8
Open Issues: 0
pkg:composer/therezor/laravel-transactional-jobs
Requires
- php: ^7.1|^8.0
- laravel/framework: ^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^5.1|^8.0|^9.0
README
Note
Laravel 10 and newer versions natively support transactional job handling without the need for this package.
Problem:
Solution:
By using this package you easily dispatch jobs inside transactions. Cancel job on transaction rollback. Add to queue on transaction committed.
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.
- 
Run composer require therezor/laravel-transactional-jobsin your laravel project root folder
- 
Implement TheRezor\TransactionalJobs\Contracts\RunAfterTransactionto jobs that run in the middle of database transactions
<?php use TheRezor\TransactionalJobs\Contracts\RunAfterTransaction; class MySuperJob implements ShouldQueue, RunAfterTransaction { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; ... }

