therezor / laravel-transactional-jobs by therezor

Submit laravel jobs inside transaction. Cancel job after rollback. Proceed after successful commit.
318,669
45
4
Package Data
Maintainer Username: therezor
Maintainer Contact: rnagirnyi@smartcats.pro (Roman Nagirnyi)
Package Create Date: 2018-02-26
Package Last Update: 2024-03-01
Language: PHP
License: MIT
Last Refreshed: 2024-04-22 03:01:27
Package Statistics
Total Downloads: 318,669
Monthly Downloads: 9,730
Daily Downloads: 36
Total Stars: 45
Total Watchers: 4
Total Forks: 9
Total Open Issues: 2

Laravel transactional jobs

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.

  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

<?php

use TheRezor\TransactionalJobs\Contracts\RunAfterTransaction;

class MySuperJob implements ShouldQueue, RunAfterTransaction
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    
    ...
}