modifs.mineures sans commentaires

This commit is contained in:
Jephté Clain 2025-10-07 02:00:52 +04:00
parent 95b0263969
commit 810ead58d6
2 changed files with 30 additions and 39 deletions

View File

@ -232,38 +232,29 @@ class CacheFile extends SharedFile {
$this->start = null;
$this->duration = null;
$this->data = null;
$updateData = true;
}
if (!$key && !$external) {
if ($updateData) {
# calculer la valeur
try {
if ($source !== null) $data = $source->compute();
else $data = $this->compute();
} catch (Exception $e) {
# le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors
# des futurs appels, l'exception continuera d'être lancée ou la
# valeur sera finalement mise à jour
throw $e;
}
} else {
$data = $this->data;
# calculer la valeur
try {
if ($source !== null) $data = $source->compute();
else $data = $this->compute();
} catch (Exception $e) {
# le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors
# des futurs appels, l'exception continuera d'être lancée ou la
# valeur sera finalement mise à jour
throw $e;
}
if ($this->shouldCache($data)) $this->data = $data;
else $this->data = $data = null;
} else {
if ($updateData) {
# calculer la valeur
try {
$data = $source->compute();
} catch (Exception $e) {
# le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors
# des futurs appels, l'exception continuera d'être lancée ou la
# valeur sera finalement mise à jour
throw $e;
}
} else {
$data = $source->load();
} elseif ($source !== null) {
# calculer la valeur
try {
$data = $source->compute();
} catch (Exception $e) {
# le fichier n'est pas mis à jour, mais ce n'est pas gênant: lors
# des futurs appels, l'exception continuera d'être lancée ou la
# valeur sera finalement mise à jour
throw $e;
}
if ($this->shouldCache($data)) {
$data = $source->save($data);
@ -272,10 +263,12 @@ class CacheFile extends SharedFile {
$source->delete();
$data = null;
}
} else {
$data = null;
}
} elseif (!$key && !$external) {
$data = $this->data;
} elseif ($source->exists()) {
} elseif ($source !== null && $source->exists()) {
$data = $source->load();
} else {
$data = null;

View File

@ -11,16 +11,6 @@ class cacheTest extends _TestCase {
["a" => 1, "b" => 2],
];
function gendata() {
msg::note("gendata");
foreach (self::DATA as $key => $item) {
msg::info("yield $key");
yield $key => $item;
sleep(2);
}
msg::note("fin gendata");
}
function _testRows(iterable $rows, int $expectedCount) {
$count = 0;
foreach ($rows as $key => $row) {
@ -70,7 +60,15 @@ class cacheTest extends _TestCase {
function testGetGenerator() {
$this->_testGet("getGenerator", 3, function () {
return $this->gendata();
return static function () {
msg::note("gendata");
foreach (self::DATA as $key => $item) {
msg::info("yield $key");
yield $key => $item;
sleep(2);
}
msg::note("fin gendata");
};
});
}