Терминал Symfony для эластичного заполнения

Мне нужно запустить команду в сервисе

app/console fos:elastica:populate --no-reset --index=profile --type=team

по терминалу все работает нормально но мне нужно запустить в сервис

 $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($this->kernel);
$application->setAutoExit(false);
//Upload in Elastic
$options = array('command' => 'fos:elastica:populate', "--no-reset" => true, "--index=profile" => true, "--type=team" => true);
$upload = $application->run(new \Symfony\Component\Console\Input\ArrayInput($options));

есть ошибка:

[InvalidArgumentException]
The "--index=profile" option does not exist.

0

Решение

Другим вариантом может быть использование Process Компонент для запуска конкретной команды:

// .../Service/YourService.php

use Symfony\Component\Process\Process;

class YourService
{
/.../

public function launchPopulateCommand()
{
$process = new Process('php app/console fos:elastica:populate --no-reset --index=profile --type=team');
$process->run();
}

/.../
}
0

Другие решения

Я решил

        $options = array('command' => 'fos:elastica:populate', "--no-reset" => true, "--index" => 'profile', "--type" => 'team');
$upload = $application->run(new \Symfony\Component\Console\Input\ArrayInput($options));
0

По вопросам рекламы [email protected]