revert Send List as csv instead of converting to xlsx to prevent memory exhausting
This commit is contained in:
Roman Schenk 2026-05-17 16:00:28 +02:00
parent 2d7d975c8b
commit 3bbf1f8ddc
1 changed files with 12 additions and 42 deletions

View File

@ -72,75 +72,45 @@ 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 tasks which are older then min oldness
// if there are any taks which are older then min oldness. To be sure the file writing process is finished.
if(count($taskfiles) > 0 && intval(explode("-", $taskfiles[0])[0]) + $minTaskOldness < time()) {
$taskFilePath = $taskDir.'/'.$taskfiles[0];
$csvFilePath = str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]);
$taskString = file_get_contents($taskFilePath);
$taskString = file_get_contents($taskDir.'/'.$taskfiles[0]);
$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],
$csvFilePath,
$username,
$password
);
$nextOffset = doRequest($task['requests'][0], str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), $username , $password);
if($nextOffset){
$task['requests'][0]['offset'] = $nextOffset;
} else {
array_shift($task['requests']);
}
$taskString = json_encode($task);
$taskfile = fopen($taskFilePath, 'w');
$taskfile = fopen($taskDir.'/'.$taskfiles[0], 'w');
if($taskfile){
fwrite($taskfile, $taskString);
fclose($taskfile);
}
} else {
// No requests left -> send CSV directly by email
unlink($taskFilePath);
}
// 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]);
echo "Task File deleted";
echo "<br>";
sendEmail(
$task['email'],
$csvFilePath,
$smtppassword
);
echo "CSV sent by email";
echo "<br>";
sendEmail($task['email'], str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0]), $smtppassword);
}
} else {
// actual Time - start time
// acutal Time - start time
echo "nothing to do after: ".strval(time() - ($latesEndTime - $maxExecutionTime));
echo "<br>";
echo "sleeping 10 seconds";
echo "<br>";
sleep(10);
}
}