On 03/06/2025 at 14:00, Oscar wrote:
In article <101itmk$2mr8t$1@dont-email.me>,
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
Instead of waiting for some fixed interval, you could add a prior command >> using wget or something to repeatedly try accessing that URL, say at 5
second intervals or whatever, until it becomes accessible, before allowing >> the startup to proceed.
For inspiration, I made a script to 'etherwake' a device and wait for it
to get ready using wget in combination with the 'timeout' command. I run 'timeout 1 wget <url>' which returns an error if wget does not respond
in 1 second, or wget returns an error itself. I use this in a while
loop that repeats this until the wget succeeds:
etherwake -D -i ${IFACE} ${MACADDR}
while ! timeout 1 curl --noproxy \* "${URL}" &> /dev/null
do
echo -n .
sleep 1
done
The OP could replace the 'sleep 120' in the other script with this loop.
Why waste a curl call when ping 8.8.8.8 would work with less overhead?
On 03/06/2025 at 14:00, Oscar wrote:
In article <101itmk$2mr8t$1@dont-email.me>,
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
Instead of waiting for some fixed interval, you could add a prior
command
using wget or something to repeatedly try accessing that URL, say at 5
second intervals or whatever, until it becomes accessible, before
allowing
the startup to proceed.
For inspiration, I made a script to 'etherwake' a device and wait for it
to get ready using wget in combination with the 'timeout' command. I run
'timeout 1 wget <url>' which returns an error if wget does not respond
in 1 second, or wget returns an error itself. I use this in a while
loop that repeats this until the wget succeeds:
etherwake -D -i ${IFACE} ${MACADDR}
while ! timeout 1 curl --noproxy \* "${URL}" &> /dev/null
do
echo -n .
sleep 1
done
The OP could replace the 'sleep 120' in the other script with this loop.
Why waste a curl call when ping 8.8.8.8 would work with less overhead?
while ! timeout 1 curl --noproxy \* "${URL}" &> /dev/null
do
echo -n .
sleep 1
done
The OP could replace the 'sleep 120' in the other script with this loop.
Why waste a curl call when ping 8.8.8.8 would work with less overhead?
I was going to suggest something similar like that too. It is worth
checking what the webserver is giving you - some services give a generic >'please wait while I start up' web page which may not be what you want. >Maybe you need to ask for a specific page and count a redirect (to the >'please wait') page as a failure.
Why waste a curl call when ping 8.8.8.8 would work with less overhead?The purpose is to test a specific service *on this machine* has started up, >not generic internet connectivity.
+1. Assuming that pings to the Wide World are not blocked by the network
Yeah. And curl is not *that* expensive to run. Maybe even less expensive
than ping, as it does not have the setuid overhead. But who's counting
clock cycles anyway?
In article <101n27u$20jc$5@dont-email.me>,
The Natural Philosopher <tnp@invalid.invalid> wrote:
+1. Assuming that pings to the Wide World are not blocked by the network
-1 for assuming that internet connectivity is the only requirement.
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,073 |
Nodes: | 10 (0 / 10) |
Uptime: | 221:51:24 |
Calls: | 13,783 |
Calls today: | 1 |
Files: | 186,987 |
D/L today: |
674 files (238M bytes) |
Messages: | 2,434,839 |