source: trunk/Modules/Export/ProcessTask.php@ 670

Last change on this file since 670 was 670, checked in by maron, 11 years ago
  • Fixed: bad description
  • Added: progress in generation
File size: 3.5 KB
Line 
1<?php
2
3ini_set('memory_limit', '100M');
4
5include_once(dirname(__FILE__).'/../../includes/global.php');
6include_once(dirname(__FILE__).'/../../includes/zip.lib.php');
7
8include_once('Export.php');
9include_once('ExportOutput.php');
10
11//LoadCommandLineParameters();
12 $System = new System();
13 $System->DoNotShowPage = true;
14 $System->Run();
15
16function SetProgres($Export,$per) {
17 $File = new FileStream();
18 $File->CreateFile($Export->TempDir.'progress');
19 $File->WriteLine(10);
20}
21
22while(1)
23{
24 //DBC files
25 $DbResult = $System->Database->query('SELECT `ExportTask`.`Export`, `Export`.`Id` AS `ExportId` FROM `ExportTask` LEFT JOIN `Export` ON `Export`.`Id` = `ExportTask`.`Export` WHERE `Export`.`OutputType` = 9 AND `ExportTask`.`TimeFinish` IS NULL');
26 while($DbRow = $DbResult->fetch_assoc())
27 {
28 echo(StrFTime("%d/%m/%Y %H:%M:%S", time()).': Generování DBC souborů pro export '.$DbRow['ExportId'].'.. '."\n");
29 if($DbRow['ExportId'] != '')
30 {
31 try
32 {
33 $Export = new Export($System);
34 $Export->Id = $DbRow['ExportId'];
35 $Export->Init();
36
37 SetProgres($Export,10);
38
39 echo('Mazání starých souborů...'."\n");
40
41 // Delete old files
42 if(file_exists($Export->TempDir.'dbc/'))
43 {
44 $Dir = opendir($Export->TempDir.'dbc/') ;
45 while(($File = readdir($Dir)) !== false)
46 {
47 if(($File != '..') and ($File != '.')) unlink($Export->TempDir.'dbc/'.$File);
48 }
49 closedir($Dir);
50 }
51 if(file_exists($Export->TempDir.'CzWoW_DBC.zip')) unlink($Export->TempDir.'CzWoW_DBC.zip');
52
53 SetProgres($Export,20);
54 if(function_exists('gzcompress'))
55 {
56 $Export->ExportToDBC();
57 echo('Komprese...'."\n");
58 exec('zip -r -j '.$Export->TempDir.'CzWoW_DBC.zip '.$Export->TempDir.'dbc/');
59 echo('Hotovo'."\n");
60 SetProgres($Export,80);
61 } else echo('Funkce pro tvorbu Zip souboru není podporována!'."\n");
62 $System->Database->query('UPDATE `ExportTask` SET `TimeFinish`=NOW() WHERE `Export`='.$Export->Id);
63 } catch (Exception $e)
64 {
65 echo 'Caught exception: ', $e->getMessage(), "\n";
66 }
67 SetProgres($Export,100);
68 } else
69 {
70 $System->Database->query('DELETE FROM `ExportTask` WHERE `Export`='.$DbRow['Export']);
71 echo('Export '.$DbRow['Export'].' nenalezen. Jeho úloha smazána.'."\n");
72 }
73 }
74
75 //EXE files
76 $DbResult = $System->Database->query('SELECT `ExportTask`.`Export`, `Export`.`Id` AS `ExportId` FROM `ExportTask` LEFT JOIN `Export` ON `Export`.`Id` = `ExportTask`.`Export` WHERE `Export`.`OutputType` = 10 AND `ExportTask`.`TimeFinish` IS NULL');
77 while($DbRow = $DbResult->fetch_assoc())
78 {
79 echo(StrFTime("%d/%m/%Y %H:%M:%S", time()).': Generování EXE souboru pro export '.$DbRow['ExportId'].'.. '."\n");
80 if($DbRow['ExportId'] != '')
81 {
82 echo shell_exec('"'.dirname(__FILE__).'./client_cz_export.sh" '.$DbRow['ExportId'].'');
83 $System->Database->query('UPDATE `ExportTask` SET `TimeFinish`=NOW() WHERE `Export`='.$DbRow['Export']);
84 } else
85 {
86 $System->Database->query('DELETE FROM `ExportTask` WHERE `Export`='.$DbRow['Export']);
87 echo('Export '.$DbRow['Export'].' nenalezen. Jeho úloha smazána.'."\n");
88 }
89 }
90 sleep($Config['ExportTaskProcessPeriod']);
91}
92
93// WriteLog('Generování dbc úloh', LOG_TYPE_DOWNLOAD);
Note: See TracBrowser for help on using the repository browser.