therezor / laravel-transactional-jobs

在事务中提交laravel任务。回滚后取消任务。成功提交后继续。

1.1.5 2024-04-26 08:22 UTC

This package is auto-updated.

Last update: 2024-09-26 09:06:28 UTC


README

注意

Laravel 10及以上版本原生支持事务性任务处理,无需此包。

问题

解决方案

使用此包,您可以轻松在事务中调度任务。事务回滚时取消任务。事务提交时加入队列。

安装

此包需要PHP 7.1和Laravel 5.8或更高版本。 如果您使用的PHP版本低于7.1或Laravel版本低于5.8,请使用此包的旧版本。

  1. 在laravel项目根目录中运行composer require therezor/laravel-transactional-jobs

  2. 为在数据库事务中间运行的任务实现TheRezor\TransactionalJobs\Contracts\RunAfterTransaction

<?php

use TheRezor\TransactionalJobs\Contracts\RunAfterTransaction;

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