aboutsummaryrefslogtreecommitdiffstats
path: root/gps-track.rsc
diff options
context:
space:
mode:
Diffstat (limited to 'gps-track.rsc')
-rw-r--r--gps-track.rsc18
1 files changed, 9 insertions, 9 deletions
diff --git a/gps-track.rsc b/gps-track.rsc
index dea56d2..6a090bf 100644
--- a/gps-track.rsc
+++ b/gps-track.rsc
@@ -9,11 +9,11 @@
# track gps data by sending json data to http server
# https://rsc.eworm.de/doc/gps-track.md
-:global GlobalFunctionsReady;
-:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
-
:local ExitOK false;
-:do {
+:onerror Err {
+ :global GlobalConfigReady; :global GlobalFunctionsReady;
+ :retry { :if ($GlobalConfigReady != true || $GlobalFunctionsReady != true) \
+ do={ :error ("Global config and/or functions not ready."); }; } delay=500ms max=50;
:local ScriptName [ :jobname ];
:global GpsTrackUrl;
@@ -34,7 +34,7 @@
:local Gps [ /system/gps/monitor once as-value ];
:if ($Gps->"valid" = true) do={
- :do {
+ :onerror Err {
/tool/fetch check-certificate=yes-without-crl output=none http-method=post \
http-header-field=({ [ $FetchUserAgentStr $ScriptName ]; "Content-Type: application/json" }) \
http-data=[ :serialize to=json { "identity"=$Identity; \
@@ -42,12 +42,12 @@
$LogPrint debug $ScriptName ("Sending GPS data in " . $CoordinateFormat . " format: " . \
"lat: " . ($Gps->"latitude") . " " . \
"lon: " . ($Gps->"longitude"));
- } on-error={
- $LogPrint warning $ScriptName ("Failed sending GPS data!");
+ } do={
+ $LogPrint warning $ScriptName ("Failed sending GPS data: " . $Err);
}
} else={
$LogPrint debug $ScriptName ("GPS data not valid.");
}
-} on-error={
- :global ExitError; $ExitError $ExitOK [ :jobname ];
+} do={
+ :global ExitError; $ExitError $ExitOK [ :jobname ] $Err;
}