fw-addr-lists: retry to download on failure

This commit is contained in:
Christian Hesse 2023-06-23 09:35:00 +02:00
parent 351c7d31ff
commit eb3b4d169e

View file

@ -40,8 +40,8 @@ $WaitFullyConnected;
:local Failure false; :local Failure false;
:foreach List in=$FwList do={ :foreach List in=$FwList do={
:local Data;
:local CheckCertificate "no"; :local CheckCertificate "no";
:local Data false;
:if ([ :len ($List->"cert") ] > 0) do={ :if ([ :len ($List->"cert") ] > 0) do={
:set CheckCertificate "yes-without-crl"; :set CheckCertificate "yes-without-crl";
@ -50,9 +50,19 @@ $WaitFullyConnected;
} }
} }
:do { :for I from=2 to=0 do={
:set Data ([ /tool/fetch ($List->"url") check-certificate=$CheckCertificate output=user as-value ]->"data"); :if ($Data = false) do={
} on-error={ :do {
:set Data ([ /tool/fetch ($List->"url") check-certificate=$CheckCertificate output=user as-value ]->"data");
} on-error={
$LogPrintExit2 debug $0 ("Failed downloading, " . $I . " retries pending: " . $List->"url") false;
:delay 2s;
}
}
}
:if ($Data = false) do={
:set Data "";
:set Failure true; :set Failure true;
$LogPrintExit2 warning $0 ("Failed downloading list from: " . $List->"url") false; $LogPrintExit2 warning $0 ("Failed downloading list from: " . $List->"url") false;
} }