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

Last change on this file since 670 was 670, checked in by maron, 12 years ago
  • Fixed: bad description
  • Added: progress in generation
File size: 3.5 KB
RevLine 
[292]1<?php
2
3ini_set('memory_limit', '100M');
4
[666]5include_once(dirname(__FILE__).'/../../includes/global.php');
6include_once(dirname(__FILE__).'/../../includes/zip.lib.php');
7
[558]8include_once('Export.php');
9include_once('ExportOutput.php');
[292]10
[369]11//LoadCommandLineParameters();
[666]12 $System = new System();
13 $System->DoNotShowPage = true;
14 $System->Run();
[292]15
[670]16function SetProgres($Export,$per) {
17 $File = new FileStream();
18 $File->CreateFile($Export->TempDir.'progress');
19 $File->WriteLine(10);
20}
21
[292]22while(1)
23{
[666]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');
[455]26 while($DbRow = $DbResult->fetch_assoc())
[292]27 {
[391]28 echo(StrFTime("%d/%m/%Y %H:%M:%S", time()).': Generování DBC souborů pro export '.$DbRow['ExportId'].'.. '."\n");
[292]29 if($DbRow['ExportId'] != '')
[390]30 {
[297]31 try
32 {
33 $Export = new Export($System);
[403]34 $Export->Id = $DbRow['ExportId'];
[297]35 $Export->Init();
[670]36
37 SetProgres($Export,10);
38
[666]39 echo('Mazání starých souborů...'."\n");
[390]40
41 // Delete old files
[666]42 if(file_exists($Export->TempDir.'dbc/'))
43 {
[391]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);
[666]50 }
[390]51 if(file_exists($Export->TempDir.'CzWoW_DBC.zip')) unlink($Export->TempDir.'CzWoW_DBC.zip');
52
[670]53 SetProgres($Export,20);
[297]54 if(function_exists('gzcompress'))
55 {
56 $Export->ExportToDBC();
[666]57 echo('Komprese...'."\n");
[403]58 exec('zip -r -j '.$Export->TempDir.'CzWoW_DBC.zip '.$Export->TempDir.'dbc/');
[391]59 echo('Hotovo'."\n");
[670]60 SetProgres($Export,80);
[391]61 } else echo('Funkce pro tvorbu Zip souboru není podporována!'."\n");
[455]62 $System->Database->query('UPDATE `ExportTask` SET `TimeFinish`=NOW() WHERE `Export`='.$Export->Id);
[297]63 } catch (Exception $e)
[292]64 {
[297]65 echo 'Caught exception: ', $e->getMessage(), "\n";
66 }
[670]67 SetProgres($Export,100);
[308]68 } else
69 {
[455]70 $System->Database->query('DELETE FROM `ExportTask` WHERE `Export`='.$DbRow['Export']);
[308]71 echo('Export '.$DbRow['Export'].' nenalezen. Jeho úloha smazána.'."\n");
72 }
[292]73 }
[666]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 }
[391]90 sleep($Config['ExportTaskProcessPeriod']);
[292]91}
92
[357]93// WriteLog('Generování dbc úloh', LOG_TYPE_DOWNLOAD);
Note: See TracBrowser for help on using the repository browser.