Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 6806f46f

Přidáno uživatelem horkym před téměř 7 roky(ů)

refs #6919: Logy

Vytvorena trida pro logovani. Vyuziti v hlavnim skriptu a ve tride Parser (pro objekty komunikujici s databazi zatim nevyuzito). Pridan ukazkovy vystupni soubor.

Zobrazit rozdíly:

cron/parser.php
2 2

  
3 3
require_once "traffic.php";
4 4
require_once "location.php";
5
require_once "logging.php";
5 6

  
6 7
class Parser {
7 8
    
......
26 27
    // Skoro to same jako $traffic, akorat bez rozmeru pro casove intervaly.
27 28
    private $trafficOneDay;
28 29
    
29
    public function __construct() {
30
    // Objekt pro logovani do souboru cron.txt ve slozce log.
31
    private $logs;
32
    
33
    public function __construct($logs) {
30 34
        $this->name = "DOPR_D_";
31 35
        $this->path = "http://doprava.plzensky-kraj.cz/opendata/doprava/den/".$this->name;
32 36
        
......
37 41
        $this->intervalMilli = (int) (24 * 3600000 / $this->HOW_MANY_INTERVALS);
38 42
        $this->traffic = array();
39 43
        $this->trafficOneDay = array();
44
        
45
        $this->logs = $logs;
40 46
    }
41 47
    
42 48
    public function doWork($date) {
49
        $this->logs->log(Logging::INFO, "ZACATEK PROCEDURY pro den ".DateTime::createFromFormat("Ymd", $date)->format("d.m.Y").".");
50
        
43 51
        $zipUrl = $this->path.$date.".zip";
44 52
        $dir = "download/$date/";
45 53
        $downloaded = $dir."downloaded.zip";
......
54 62
            }
55 63
            
56 64
            if ($ok == 0 || $result == 1) {
65
                $this->logs->log(Logging::INFO, "Zpracovavani zaznamu o doprave.");
57 66
                $this->parse($dir.$this->name.$date.".csv", TRUE);
67
                
68
                $this->logs->log(Logging::INFO, "Zpracovavani zaznamu o lokacich.");
58 69
                $this->parse($dir."Locations.csv", FALSE);
59 70
                // return; odkomentovat v pripade, ze extrahovana data nemaji byt odstranena.
60 71
            }
61 72
            
73
            $this->logs->log(Logging::INFO, "Odstranovani slozky s extrahovanymi daty.");
62 74
            $this->deleteDir($dir);
63 75
            
64 76
        }
77
        
78
        $this->logs->log(Logging::INFO, "KONEC PROCEDURY.");
65 79
    }
66 80
    
67 81
    private function parse($fileName, $traffic) {
......
128 142
                if (mkdir($dir)) {
129 143
                    if (copy($zipUrl, $downloaded)) {
130 144
                        // Stazeni probehlo v poradku.
145
                        $this->logs->log(Logging::INFO, "Stazeni archivu probehlo v poradku.");
131 146
                        return 0;
132 147
                    } else {
133 148
                        // Nepovedlo se stazeni zip souboru.
149
                        $this->logs->log(Logging::ERROR, "Nepovedlo se stazeni archivu.");
134 150
                        return -1;
135 151
                    }
136 152
                } else {
137 153
                    // Nepodarilo se vytvorit slozku pro data.
154
                    $this->logs->log(Logging::ERROR, "Nepodarilo se vytvorit slozku pro data.");
138 155
                    return -2;
139 156
                }
140 157
            } else {
141 158
                // Data k vybranemu dni jiz byla stazena.
159
                $this->logs->log(Logging::INFO, "Data k vybranemu dni jiz byla stazena.");
142 160
                return 1;
143 161
            }
144 162
        } else {
145 163
            // Pro dany datum neexistuji data.
164
            $this->logs->log(Logging::WARNING, "Pro dany datum neexistuji data.");
146 165
            return -3;
147 166
        }
148 167
    }
......
153 172
            $zip->extractTo($dir);
154 173
            $zip->close();
155 174
            // Extrahovani v poradku dokonceno.
175
            $this->logs->log(Logging::INFO, "Extrahovani archivu v poradku dokonceno.");
156 176
            return 0;
157 177
        } else {
158 178
            // Nepovedlo se extrahovani obsahu zipu.
179
            $this->logs->log(Logging::ERROR, "Pri extrahovani archivu doslo k chybe.");
159 180
            return -1;
160 181
        }
161 182
    }

Také k dispozici: Unified diff