mirror of
https://github.com/eworm-de/routeros-scripts.git
synced 2024-05-11 05:55:19 +00:00
global-functions: $DownloadPackage: retry on error
This commit is contained in:
@ -215,22 +215,27 @@
|
|||||||
:local PkgDest [ $CleanFilePath ($PkgDir . "/" . $PkgFile) ];
|
:local PkgDest [ $CleanFilePath ($PkgDir . "/" . $PkgFile) ];
|
||||||
|
|
||||||
$CertificateAvailable "Let's Encrypt Authority X3";
|
$CertificateAvailable "Let's Encrypt Authority X3";
|
||||||
:do {
|
|
||||||
/ tool fetch check-certificate=yes-without-crl \
|
:local Retry 3;
|
||||||
("https://upgrade.mikrotik.com/routeros/" . $PkgVer . "/" . $PkgFile) \
|
:while ($Retry > 0) do={
|
||||||
dst-path=$PkgDest;
|
:do {
|
||||||
$WaitForFile $PkgDest;
|
/ tool fetch check-certificate=yes-without-crl \
|
||||||
} on-error={
|
("https://upgrade.mikrotik.com/routeros/" . $PkgVer . "/" . $PkgFile) \
|
||||||
|
dst-path=$PkgDest;
|
||||||
|
$WaitForFile $PkgDest;
|
||||||
|
|
||||||
|
:if ([ / file get [ find where name=$PkgDest ] type ] = "package") do={
|
||||||
|
:return true;
|
||||||
|
}
|
||||||
|
} on-error={
|
||||||
|
# catch error and fall through
|
||||||
|
}
|
||||||
|
|
||||||
/ file remove [ find where name=$PkgDest ];
|
/ file remove [ find where name=$PkgDest ];
|
||||||
:return false;
|
:set Retry ($Retry - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
:if ([ / file get [ find where name=$PkgDest ] type ] != "package") do={
|
:return false;
|
||||||
/ file remove [ find where name=$PkgDest ];
|
|
||||||
:return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
:return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# lock script against multiple invocation
|
# lock script against multiple invocation
|
||||||
|
Reference in New Issue
Block a user