Personal tools

Run scripts more than once per minute

From PhotoVoltaic Logger new generation

Revision as of 19:05, 12 July 2014 by KKoPV (talk | contribs)
Jump to: navigation, search


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 a script more than once per minute.

# ./PVLng-run.sh -h

Run command each period seconds for 1 minute.
Use in cron with cron period * for each minute.

Usage: PVLng-run.sh [options] -- command parameter1 parameter2 ...

Options:
    -p    Period in seconds, default: 60 (run once)
    -t    Test mode
    -v    Set verbosity level to info level
    -h    Show this help

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

Don't forget to divide the real script name and its parameters with the "--"

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.