Better logging for the population command
This commit is contained in:
parent
7cb9d9ee71
commit
8f3b39d135
|
@ -32,8 +32,13 @@ class PopulateCommand extends Command
|
||||||
$output->writeln('Reseting indexes');
|
$output->writeln('Reseting indexes');
|
||||||
$this->container->get('foq_elastica.reseter')->reset();
|
$this->container->get('foq_elastica.reseter')->reset();
|
||||||
|
|
||||||
|
$output->writeln('Setting mappings');
|
||||||
|
$this->container->get('foq_elastica.mapping_setter')->setMappings();
|
||||||
|
|
||||||
$output->writeln('Populating indexes');
|
$output->writeln('Populating indexes');
|
||||||
$this->container->get('foq_elastica.populator')->populate();
|
$this->container->get('foq_elastica.populator')->populate(function($text) use ($output) {
|
||||||
|
$output->writeLn($text);
|
||||||
|
});
|
||||||
|
|
||||||
$output->writeln('Done');
|
$output->writeln('Done');
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ class AddProviderPass implements CompilerPassInterface
|
||||||
|
|
||||||
$providers = array();
|
$providers = array();
|
||||||
foreach ($container->findTaggedServiceIds('foq_elastica.provider') as $id => $attributes) {
|
foreach ($container->findTaggedServiceIds('foq_elastica.provider') as $id => $attributes) {
|
||||||
$providers[] = new Reference($id);
|
$providers[$id] = new Reference($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$container->getDefinition('foq_elastica.populator')->setArgument(0, $providers);
|
$container->getDefinition('foq_elastica.populator')->setArgument(0, $providers);
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace FOQ\ElasticaBundle;
|
namespace FOQ\ElasticaBundle;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
|
||||||
class Populator
|
class Populator
|
||||||
{
|
{
|
||||||
protected $providers;
|
protected $providers;
|
||||||
|
@ -11,10 +13,12 @@ class Populator
|
||||||
$this->providers = $providers;
|
$this->providers = $providers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function populate()
|
public function populate(Closure $loggerClosure)
|
||||||
{
|
{
|
||||||
foreach ($this->providers as $provider) {
|
foreach ($this->providers as $name => $provider) {
|
||||||
$provider->populate();
|
$provider->populate(function($text) use ($name, $loggerClosure) {
|
||||||
|
$loggerClosure(sprintf('Indexing %s, %s', $name, $text));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
namespace FOQ\ElasticaBundle;
|
namespace FOQ\ElasticaBundle;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
|
||||||
interface ProviderInterface
|
interface ProviderInterface
|
||||||
{
|
{
|
||||||
function populate();
|
function populate(Closure $loggerClosure);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue