gpt4 book ai didi

Symfony2 - 检查命令是否正在运行

转载 作者:行者123 更新时间:2023-12-03 15:08:16 26 4
gpt4 key购买 nike

有什么方法可以检查 symfony 命令是否已经在运行?
我有一个命令可以在没有超时和消耗数据的情况下运行,我需要知道该命令是否已经在运行。

最佳答案

您可以使用锁来确保命令一次只运行一次。 Symfony 提供了一个 LockHandler helper ,但你也可以用普通的 PHP 轻松地做到这一点。

use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Filesystem\LockHandler;

class WhateverCommand extends Command
{
protected function configure() { }

protected function execute(InputInterface $input, OutputInterface $output)
{
$lock = new LockHandler('a_unique_id_for_your_command');
if (!$lock->lock()) {
$output->writeln('This command is already running in another process.');

return 0;
}

// ... do some task

$lock->release();
}
}

关于Symfony2 - 检查命令是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34411356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com