Skip to content

Commit 2b5c414

Browse files
committed
fix: cleanup localfiles and distant storage
1 parent b4a2b04 commit 2b5c414

3 files changed

Lines changed: 41 additions & 15 deletions

File tree

src/Controller/Api/ValidationsController.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -248,19 +248,23 @@ public function deleteValidation($uid)
248248
throw new ApiException("No record found for uid=$uid", Response::HTTP_NOT_FOUND);
249249
}
250250

251+
$this->logger->info('Validation[{uid}] : removing all saved data...', [
252+
'uid' => $validation->getUid(),
253+
'datasetName' => $validation->getDatasetName(),
254+
]);
255+
251256
$em = $this->getDoctrine()->getManager();
252257
$em->remove($validation);
253258
$em->flush();
254259

255-
$fs = new FileSystem();
256-
$validationDirectory = $this->storage->getDirectory($validation);
257-
if ($fs->exists($validationDirectory)) {
258-
$fs->remove($validationDirectory);
259-
}
260-
261260
// Delete from storage
262-
if ($this->dataStorage->directoryExists($validationDirectory)) {
263-
$this->dataStorage->deleteDirectory($validationDirectory);
261+
$uploadDirectory = $this->storage->getUploadDirectory($validation);
262+
if ($this->dataStorage->directoryExists($uploadDirectory)) {
263+
$this->dataStorage->deleteDirectory($uploadDirectory);
264+
}
265+
$outputDirectory = $this->storage->getOutputDirectory($validation);
266+
if ($this->dataStorage->directoryExists($outputDirectory)) {
267+
$this->dataStorage->deleteDirectory($outputDirectory);
264268
}
265269

266270
return new JsonResponse(null, Response::HTTP_NO_CONTENT);

src/Storage/ValidationsStorage.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ public function getDirectory(Validation $validation){
4141
* @return string
4242
*/
4343
public function getUploadDirectory(Validation $validation){
44-
return $this->getDirectory($validation) . "/upload/";
44+
return $validation->getUid() . "/upload/";
4545
}
4646

4747
/**
4848
* @param Validation $validation
4949
* @return string
5050
*/
5151
public function getOutputDirectory(Validation $validation){
52-
return $this->getDirectory($validation) . "/output/";
52+
return $validation->getUid() . "/output/";
5353
}
5454

5555

src/Validation/ValidationManager.php

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,22 @@ public function archive(Validation $validation)
8888
]);
8989
$fs->remove($validationDirectory);
9090
}
91+
92+
// Delete from storage
93+
$this->logger->info('Validation[{uid}] : remove upload files', [
94+
'uid' => $validation->getUid(),
95+
]);
96+
$uploadDirectory = $this->storage->getUploadDirectory($validation);
97+
if ($this->dataStorage->directoryExists($uploadDirectory)) {
98+
$this->dataStorage->deleteDirectory($uploadDirectory);
99+
}
100+
$this->logger->info('Validation[{uid}] : remove output files', [
101+
'uid' => $validation->getUid(),
102+
]);
103+
$outputDirectory = $this->storage->getOutputDirectory($validation);
104+
if ($this->dataStorage->directoryExists($outputDirectory)) {
105+
$this->dataStorage->deleteDirectory($outputDirectory);
106+
}
91107
$this->logger->info('Validation[{uid}] : archive removing all files : completed', [
92108
'uid' => $validation->getUid(),
93109
'status' => Validation::STATUS_ARCHIVED,
@@ -216,7 +232,7 @@ private function doProcess(Validation $validation)
216232
*/
217233
private function getZip(Validation $validation)
218234
{
219-
$this->logger->info('Validation[{uid}] : Get from storage...', [
235+
$this->logger->info('Validation[{uid}] : get from storage...', [
220236
'uid' => $validation->getUid(),
221237
'datasetName' => $validation->getDatasetName(),
222238
]);
@@ -245,6 +261,10 @@ private function getZip(Validation $validation)
245261
*/
246262
private function validateZip($validation)
247263
{
264+
$this->logger->info('Validation[{uid}] : validate zip archive...', [
265+
'uid' => $validation->getUid(),
266+
'datasetName' => $validation->getDatasetName(),
267+
]);
248268
$validationDirectory = $this->storage->getDirectory($validation);
249269
$zipPath = $validationDirectory . '/' . $validation->getDatasetName() . '.zip';
250270
$errors = $this->zipArchiveValidator->validate($zipPath);
@@ -316,7 +336,7 @@ private function zipNormData(Validation $validation)
316336
private function saveToStorage(Validation $validation)
317337
{
318338
// Saves normalized data to storage
319-
$this->logger->info('Validation[{uid}] : saving...', [
339+
$this->logger->info('Validation[{uid}] : saving normalized data...', [
320340
'uid' => $validation->getUid(),
321341
'datasetName' => $validation->getDatasetName(),
322342
]);
@@ -335,11 +355,13 @@ private function saveToStorage(Validation $validation)
335355
fclose($stream);
336356

337357
// Saves validator logs to storage
358+
$this->logger->info('Validation[{uid}] : saving logs...', [
359+
'uid' => $validation->getUid(),
360+
'datasetName' => $validation->getDatasetName(),
361+
]);
338362
$logPath = $validationDirectory . '/validator-debug.log';
339363
$outputPath = $outputDirectory . '/validator-debug.log';
340-
if ($this->dataStorage->fileExists($outputPath)){
341-
$this->dataStorage->delete($outputPath);
342-
}
364+
343365
$stream = fopen($logPath, 'r+');
344366
$this->dataStorage->writeStream($outputPath, $stream);
345367
fclose($stream);

0 commit comments

Comments
 (0)