1 | <?php |
||
18 | class ProvidingProgressBar |
||
19 | { |
||
20 | const PROGRESS_BAR_TEMPLATE = ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s% %memory:6s%'; |
||
21 | |||
22 | /** |
||
23 | * @var OutputInterface |
||
24 | */ |
||
25 | private $output; |
||
26 | |||
27 | /** |
||
28 | * @var ProgressBar |
||
29 | */ |
||
30 | private $progressBar; |
||
31 | |||
32 | /** |
||
33 | * @param EventDispatcherInterface $dispatcher |
||
34 | * @param OutputInterface $output |
||
35 | */ |
||
36 | 1 | public function __construct( |
|
37 | EventDispatcherInterface $dispatcher, |
||
38 | OutputInterface $output |
||
39 | ) { |
||
40 | 1 | $this->output = $output; |
|
41 | |||
42 | 1 | $dispatcher->addListener( |
|
43 | 1 | 'elasticsearch.has_started_handling', |
|
44 | 1 | [$this, 'onStartedHandling'] |
|
45 | 1 | ); |
|
46 | |||
47 | 1 | $dispatcher->addListener( |
|
48 | 1 | 'elasticsearch.has_started_providing', |
|
49 | 1 | [$this, 'onStartedProviding'] |
|
50 | 1 | ); |
|
51 | |||
52 | 1 | $dispatcher->addListener( |
|
53 | 1 | 'elasticsearch.has_finished_providing', |
|
54 | 1 | [$this, 'onFinishedProviding'] |
|
55 | 1 | ); |
|
56 | |||
57 | 1 | $dispatcher->addListener( |
|
58 | 1 | 'elasticsearch.has_indexed_document', |
|
59 | 1 | [$this, 'onIndexedDocument'] |
|
60 | 1 | ); |
|
61 | 1 | } |
|
62 | |||
63 | public function onStartedHandling(HasStartedHandling $event) |
||
64 | { |
||
65 | $this->output->writeln(sprintf( |
||
66 | '<info>Start running <comment>%d</comment> providers</info>', |
||
67 | count($event->getEntries()) |
||
68 | )); |
||
69 | } |
||
70 | |||
71 | public function onStartedProviding(HasStartedProviding $event) |
||
72 | { |
||
73 | $this->output->writeln(sprintf( |
||
74 | '<info> - Running <comment>%s</comment> provider</info>', |
||
75 | get_class($event->getEntry()->getProvider()) |
||
76 | )); |
||
77 | |||
78 | $count = $event->getEntry()->getProvider()->count(); |
||
79 | if (null !== $count) { |
||
80 | $this->progressBar = new ProgressBar($this->output, $count); |
||
81 | $this->progressBar->setFormat(self::PROGRESS_BAR_TEMPLATE); |
||
82 | } |
||
83 | } |
||
84 | |||
85 | public function onFinishedProviding(HasFinishedProviding $event) |
||
91 | |||
92 | public function onIndexedDocument(HasIndexedDocument $event) |
||
98 | } |
||
99 |
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.