kaliop/lock-command-bundle

Symfony命令功能

安装: 71

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 4

分支: 1

开放问题: 4

类型:symfony-bundle

1.0.1 2018-05-18 07:02 UTC

This package is auto-updated.

Last update: 2024-08-24 03:51:32 UTC


README

安装

配置仓库

$ php composer.phar config repositories.kaliopConsoleBundle '{ "type": "vcs", "url": "https://github.com/kaliop/kaliop-lock-command-bundle.git" }'

安装包

$ php composer.phar require kaliop/lock-command-bundle

将包添加到Symfony内核

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            ...
            new Kaliop\LockCommandBundle\LockCommandBundle(),
            ...
        ];
    }
}

移除包

$ php composer.phar remove kaliop/lock-command-bundle

用法

命令锁

此包允许“锁定”控制台命令,以防止并发执行。

为此,您需要将命令声明为服务,并使用lock: true进行标记

services:
    test.console.command:
        class: AppBundle\Command\TestLockCommand
        tags:
            - { name: "console.command", lock: true }

如你所见,console.command标签现在有一个新的锁定选项,可以设置为truefalse。将锁定选项设置为true的命令将在命令开始事件时被锁定,并在命令终止或异常事件时解锁。

此外,如果需要,您可以在启动命令时通过命令行传递一个--no-lock选项,如果不需要在单个执行中对命令进行锁定。

$ php bin/console kaliop:command:example --no-lock