Мне нужно запустить команду в сервисе
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.
Другим вариантом может быть использование 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();
}
/.../
}
Я решил
$options = array('command' => 'fos:elastica:populate', "--no-reset" => true, "--index" => 'profile', "--type" => 'team');
$upload = $application->run(new \Symfony\Component\Console\Input\ArrayInput($options));