Completed
Pull Request — develop (#246)
by ANTHONIUS
07:21
created

ConsoleController   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 1
cbo 3
dl 0
loc 30
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B activeJobIndexAction() 0 25 2
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @copyright (c) 2013 - 2016 Cross Solution (http://cross-solution.de)
7
 * @license   MIT
8
 */
9
10
namespace Solr\Controller;
11
12
13
use Core\Console\ProgressBar;
14
use Core\Repository\RepositoryService;
15
use Jobs\Entity\Job;
16
use Zend\Mvc\Controller\AbstractActionController;
17
18
/**
19
 * Class ConsoleController
20
 *
21
 * @author  Anthonius Munthi <[email protected]>
22
 * @since   0.26
23
 * @package Solr\Controller
24
 */
25
class ConsoleController extends AbstractActionController
26
{
27
    const EVENT_UPDATE_INDEX    = 'solr.console.update_index';
28
29
    public function activeJobIndexAction()
30
    {
31
        /* @var RepositoryService $repositories */
32
        /* @var \Jobs\Repository\Job $jobRepo */
33
        /* @var \Doctrine\ODM\MongoDB\Cursor $jobs */
34
        /* @var \Solr\Listener\JobEventSubscriber $jobSubscriber */
35
        $sl = $this->serviceLocator;
36
        $repositories = $sl->get('repositories');
37
        $jobRepo = $repositories->get('Jobs/Job');
38
        $jobSubscriber = $sl->get('Solr/Listener/JobEventSubscriber');
39
40
        $jobs = $jobRepo->findActiveJob();
41
        $count = $jobs->count();
42
43
        $progressBar = new ProgressBar($count);
44
        $i = 1;
45
        foreach($jobs as $job){
46
            /* @var Job $job */
47
            $jobSubscriber->consoleIndex($job);
48
            $progressBar->update($i, 'Job '.$i.' / '.$count);
49
            $i++;
50
        }
51
52
        return PHP_EOL;
53
    }
54
}