webonaute/doctrine-datalocking-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

webonaute/doctrine-datalocking-bundle

Composer 安装命令:

composer require webonaute/doctrine-datalocking-bundle

包简介

Lock a list of object of the same entity to be executed by a single processor. When the lock is aquire, the lock ID generated can be use by a processor to execute action on that locked list.

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

About

Lock a list of object of the same entity to be executed by a single processor. When the lock is aquire, the lock ID generated can be use by a processor to execute action on that locked list.

Branches

  • Use version 1.0-dev for Symfony 4.0+. build status

Installation

This bundle is available via composer, find it on packagist.

Run : composer require webonaute/doctrine-datalocking-bundle 1.0-dev

Documentation

Configure Entity

Add this snipped code to your entity.

    use Webonaute\DoctrineDataLockingBundle\Entity\ProcessLock;
    
    ... 
    
    /**
     * @var ProcessLock
     *
     * @ORM\Embedded(class=ProcessLock::class)
     */
    private $processLock;
     
    ...
     
    public function __construct()
    {
        ...
        $this->processLock = new ProcessLock();
    }

    /**
     * @return ProcessLock
     */
    public function getProcessLock(): ProcessLock
    {
        return $this->processLock;
    }     

Lock data who are due.

while (null !== $lockId = $dataLockerService->lock(Entity::class, 500, $extraWhere, $lockAt)) {
    $this->queue->push($lockId);
}

Get objects related to one lock ID.

$lockedEntities = $dataLockerService->findLocked(Entity::class, $lockId);

Unlock object after usage.

This will simply unlock the object. To consume the entity object, use deleteLocked method.

$lockedEntities = $dataLockerService->unlock(Entity::class, $lockId);

Consume object after usage with deleteLocked

This method will consume the entity object by deleting it from the database.

$lockedEntities = $dataLockerService->deleteLocked(Entity::class, $lockId);

License

See LICENSE.

统计信息

  • 总下载量: 20.25k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-06-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固