Projekt

Obecné

Profil

Stáhnout (2.18 KB) Statistiky
| Větev: | Revize:
1 788fa6d8 horkym
<?php
2
3
require_once "dao/dao.php";
4
require_once "db/db-web.php";
5
require_once "parser.php";
6
require_once "process_traffic_matrix.php";
7
8 26158742 horkym
function year_cron() {
9 6806f46f horkym
    // Stazeni dat za posledni rok.
10 26158742 horkym
    for ($i = 365; $i > 0; $i--) {
11
        $date = new DateTime();
12
        $date->modify("-$i day");
13
        cron_procedure($date);
14
    }
15
}
16
17 788fa6d8 horkym
function cron() {
18 6806f46f horkym
    // Stazeni dat z minuleho dne.
19 26158742 horkym
    $date = new DateTime();
20
    $date->modify("-1 day");
21
    cron_procedure($date);
22
}
23
24 6806f46f horkym
// Funkce, ktera je volana bud cron() nebo year_cron() a ktera stahne data pro dany den.
25 26158742 horkym
function cron_procedure($date) {
26
    // Kvuli timeoutu.
27
    set_time_limit(0);
28
    
29 7cee2250 horkym
    // Objekt pro logovani.
30
    $logs = new Logging();
31
    
32 6806f46f horkym
    // Vytvoreni objektu pro komunikaci s DB.
33 7cee2250 horkym
    $dbh = new DB_WEB($logs);
34 788fa6d8 horkym
    $DAO = new DAO();
35
    $DAO->setDB($dbh);
36
    
37 26158742 horkym
    if ($date != NULL && $DAO->controlTrafficData($date->format("Y-m-d"))) {
38 6806f46f horkym
        $logs->log(Logging::INFO, "Data k vybranemu dni (".$date->format("d.m.Y").") jeste v databazi nejsou.");
39
        $parser = new Parser($logs);
40 788fa6d8 horkym
        $parser->doWork($date->format("Ymd"));
41
        
42
        $traffic = $parser->getTraffic();
43 e1140d8a horkym
        $trafficOneDay = $parser->getTrafficOneDay();
44 788fa6d8 horkym
        $locations = $parser->getLocations();
45
        
46
        $DAO->insertVehicles(); // Pokud nejsou typy vozidel v tabulce - pridat.
47
        
48
        // Pridat udaje o novych zarizenich.
49
        foreach ($locations as $l) {
50
            $DAO->insertLocationData($l);
51
        }
52
        
53
        // Pridat zaznamy z vybraneho dne.
54 41dd5f26 horkym
        $insertDate = array();
55 788fa6d8 horkym
        $insertRTT = array();
56
        $insertRT = array();
57 e1140d8a horkym
        $insertOneDay = array();
58 41dd5f26 horkym
        process_traffic_matrix($parser, $traffic, $trafficOneDay, $DAO->findFirstId("datum"), $DAO->findFirstId("zaznam_cas"), $DAO->findFirstId("zaznam"), $DAO->findFirstId("zaznam_prum_den"), $insertDate, $insertRTT, $insertRT, $insertOneDay, $date->format("Y-m-d"));
59
        $DAO->insertTrafficData($insertDate, $insertRTT, $insertRT, $insertOneDay);
60 6806f46f horkym
    } else if ($date != NULL) {
61
        // Data pro vybrany den uz v databazi jsou.
62
        $logs->log(Logging::WARNING, "Pro vybrany den (".$date->format("d.m.Y").") jiz data v databazi jsou.");
63 788fa6d8 horkym
    }
64
}
65
66
?>