diff --git a/taskExecuter.php b/taskExecuter.php index a05106a..4e427a9 100644 --- a/taskExecuter.php +++ b/taskExecuter.php @@ -72,45 +72,75 @@ function convertcsvToXlsx(string $csvFile, string $xlsxFile) } while($latesEndTime - time() > 30){ + // If the directory for Tasks is already created if(is_dir($taskDir)) { + $taskfiles = scandir($taskDir); $taskfiles = array_diff($taskfiles, array('.', '..')); sort($taskfiles); - // if there are any taks which are older then min oldness. To be sure the file writing process is finished. + + // if there are any tasks which are older then min oldness if(count($taskfiles) > 0 && intval(explode("-", $taskfiles[0])[0]) + $minTaskOldness < time()) { - $taskString = file_get_contents($taskDir.'/'.$taskfiles[0]); + + $taskFilePath = $taskDir.'/'.$taskfiles[0]; + $csvFilePath = str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]); + + $taskString = file_get_contents($taskFilePath); $task = json_decode($taskString, true); // if there are any requests to do, do the first if(count($task['requests']) > 0) { - $nextOffset = doRequest($task['requests'][0], str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), $username , $password); + + $nextOffset = doRequest( + $task['requests'][0], + $csvFilePath, + $username, + $password + ); + if($nextOffset){ $task['requests'][0]['offset'] = $nextOffset; } else { array_shift($task['requests']); } + $taskString = json_encode($task); - $taskfile = fopen($taskDir.'/'.$taskfiles[0], 'w'); + + $taskfile = fopen($taskFilePath, 'w'); + if($taskfile){ fwrite($taskfile, $taskString); fclose($taskfile); } - } - // if there are no Requests left, send the E-Mail - else { - convertcsvToXlsx(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0])); - unlink(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0])); - unlink($taskDir.'/'.$taskfiles[0]); + + } else { + + // No requests left -> send CSV directly by email + + unlink($taskFilePath); + echo "Task File deleted"; echo "
"; - sendEmail($task['email'], str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0]), $smtppassword); + + sendEmail( + $task['email'], + $csvFilePath, + $smtppassword + ); + + echo "CSV sent by email"; + echo "
"; } + } else { - // acutal Time - start time + + // actual Time - start time echo "nothing to do after: ".strval(time() - ($latesEndTime - $maxExecutionTime)); + echo "
"; echo "sleeping 10 seconds"; echo "
"; + sleep(10); } }