kaliop/lock-command-bundle
Symfony命令功能
1.0.1
2018-05-18 07:02 UTC
Requires
- symfony/config: ~2.7 || ~3
- symfony/console: ~2.7 || ~3
- symfony/dependency-injection: ~2.7 || ~3
- symfony/event-dispatcher: ~2.7 || ~3
- symfony/filesystem: ~2.7 || ~3
- symfony/http-kernel: ~2.7 || ~3
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
标签现在有一个新的锁定选项,可以设置为true
或false
。将锁定选项设置为true
的命令将在命令开始事件时被锁定,并在命令终止或异常事件时解锁。
此外,如果需要,您可以在启动命令时通过命令行传递一个--no-lock
选项,如果不需要在单个执行中对命令进行锁定。
$ php bin/console kaliop:command:example --no-lock