我们最近开始使用 Symfony 锁组件来防止 2 个 cron 作业同时执行。我们使用的是 php7.2 & Symfony4.4 这里是例子
class TestCommand extends Command
{
use LockableTrait;
protected function execute(InputInterface $input, OutputInterface $output)
{
try {
if (!$this->lock(self::$defaultName))
{
$output->writeln('Previous job is still running...');
return false;
}
// our logic
}
}
我们进行了测试,一切都很好,但是在某些情况下它不起作用。同时,有 2 个 TestCommand 正在运行,我们无法重现该问题。我们做了一些分析,但没有运气
如果我能找到解决方案/线索来解决这个问题,那将非常有帮助
提前致谢