Я хочу прекратить выполнение моей команды из действия контроллера, поэтому я попытался использовать pcntl для достижения этой цели.
Это мой код (команда):
protected $should_stop = false;
protected function execute(InputInterface $input, OutputInterface $output)
{
pcntl_signal(SIGHUP, [$this, 'stopCommand']);
foreach($something as $row) {
pcntl_signal_dispatch();
if($this->should_stop === true) {
break;
}
...
}
}
protected function stopCommand()
{
$this->should_stop = true;
}
Но когда я запускаю свою команду, она отображает ошибку:
[Symfony\Component\Debug\Exception\UndefinedFunctionException]
Attempted to call function "pcntl_signal" from namespace "AppBundle\Command".
Я понятия не имею, как это исправить, не могли бы вы, ребята, помочь? Кроме того, если у вас есть какой-либо другой хороший способ остановить выполнение команды symfony из действия контроллера, было бы неплохо, если бы вы разместили решение здесь.