forked from ZwiiCMS-Team/ZwiiCampus
1.7.09 ajoute un temps d'attente
This commit is contained in:
parent
ebd078848a
commit
7544bb9862
@ -18,9 +18,12 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
protected $db = '';
|
protected $db = '';
|
||||||
protected $data = null;
|
protected $data = null;
|
||||||
protected $config = [];
|
protected $config = [];
|
||||||
|
// Tentative d'encodage après échec
|
||||||
const MAX_JSON_ENCODE_ATTEMPTS = 5;
|
const MAX_JSON_ENCODE_ATTEMPTS = 5;
|
||||||
|
// Tentative d'écriture après échec
|
||||||
const MAX_FILE_WRITE_ATTEMPTS = 5;
|
const MAX_FILE_WRITE_ATTEMPTS = 5;
|
||||||
|
// Délais entre deux tentaives
|
||||||
|
const RETRY_DELAY_SECONDS = 1;
|
||||||
|
|
||||||
public function __construct($config = [])
|
public function __construct($config = [])
|
||||||
{
|
{
|
||||||
@ -156,6 +159,7 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
$attempts++;
|
$attempts++;
|
||||||
error_log('Erreur d\'encodage JSON (tentative ' . $attempts . ') : ' . json_last_error_msg());
|
error_log('Erreur d\'encodage JSON (tentative ' . $attempts . ') : ' . json_last_error_msg());
|
||||||
$jsonData = json_encode($this->data, $jsonOptions); // Réessayer l'encodage
|
$jsonData = json_encode($this->data, $jsonOptions); // Réessayer l'encodage
|
||||||
|
sleep(self::RETRY_DELAY_SECONDS); // Attendre avant de réessayer
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($jsonData === false) {
|
if ($jsonData === false) {
|
||||||
@ -174,6 +178,7 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
if ($bytesWritten === false) {
|
if ($bytesWritten === false) {
|
||||||
$attempts++;
|
$attempts++;
|
||||||
error_log('Erreur d\'écriture (tentative ' . $attempts . ') : impossible de sauvegarder les données.');
|
error_log('Erreur d\'écriture (tentative ' . $attempts . ') : impossible de sauvegarder les données.');
|
||||||
|
sleep(self::RETRY_DELAY_SECONDS); // Attendre avant de réessayer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
flock($lockHandle, LOCK_UN);
|
flock($lockHandle, LOCK_UN);
|
||||||
@ -193,4 +198,7 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user