Run scripts more than once per minute
From PhotoVoltaic Logger new generation
If you run the scripts by cron, the most often frequency is once per minute.
PVLng offers a wrapper script PVLng-run.sh to run commands or other scripts more than once per minute.
# ./PVLng-run.sh -h Run command each given period (in seconds) for 1 minute. Use in cron with period * for each minute. usage: ./PVLng-run1.sh [options] -- script arg1 arg2 ... options: -p, --period Run each ? seconds for 1 minute (runs by default once) [default:60] -n, --nice Niceness range from -20 (most favorable) to 19 (least favorable) [default:10] -t, --test Test mode, set verbosity to info level [flag] -v, --verbose Verbosity, use multiple times for higher level [flag] -h, --help This usage help Don't miss the -- !
Don't forget to divide the real script name and its parameters with the "--"
I monitor my power consumption and my SMA inverters with the following cron tab entries:
# Fetch plant data each 30s, run mostly during daylight times mostly * 4-22 * * * ~/PVLng-run.sh -p 30 -- ~/SMA/Webbox.sh -s Inverters.conf * 4-22 * * * ~/PVLng-run.sh -p 30 -- ~/SMA/Webbox.sh -s Sensorbox.conf # Fetch consumption data each 15s * * * * * ~/PVLng-run.sh -p 15 -- ~/S0/S0.sh -s Consumption.conf
If you run the wrapper script in verbose test mode, it will show you only what will happen:
# ~/PVLng-run.sh -tvp 30 -- ~/SMA/Webbox.sh -s Inverters.conf [19:58:02.550] Period : 30 [19:58:02.554] Command: ~/PVLng-scripts/SMA/Webbox.sh -s Inverters.conf [19:58:02.559] Run, 1 left ... [19:58:02.563] Test mode ... [19:58:32.572] Run, 0 left ... [19:58:32.576] Test mode ...
For more accuracy the wrapper script will spawn the concrete command into background, so it have not to wait for it.